<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      Android性能優化問題總結

        性能優化這塊,分為UI性能優化、內存優化、數據庫優化、網絡優化、耗電優化等等。可以從1.如何發現問題,2.怎么解決問題,3.解決效果對比,這幾個方面去描述。舉個簡單例子——UI優化,可以從 UI出現什么問題(卡頓不流暢),怎么查找問題(手機開發者權限>GPU過度繪制 發現層級問題,TraceView CPU使用情況分析),怎么解決問題(降低層級、自定義View繪圖出現問題等),解決問題后性能再次對比。

      一、UI優化

      a.合理選擇RelativeLayout、LinearLayout、FrameLayout,RelativeLayout會讓子View調用2次onMeasure,而且布局相對復雜時,onMeasure相對比較復雜,效率比較低,LinearLayout在weight>0時也會讓子View調用2次onMeasure。LinearLayout weight測量分配原則。

      b.使用標簽

      c.減少布局層級,可以通過手機開發者選項>GPU過渡繪制查看,一般層級控制在4層以內,超過5層時需要考慮是否重新排版布局。

      d.自定義View時,重寫onDraw()方法,不要在該方法中新建對象,否則容易觸發GC,導致性能下降

      e.使用ListView時需要復用contentView,并使用Holder減少findViewById加載View。

      f.去除不必要背景,getWindow().setBackgroundDrawable(null)

      g.使用TextView的leftDrawabel/rightDrawable代替ImageView+TextView布局

      二、內存優化

      主要為了避免OOM和頻繁觸發到GC導致性能下降

      a.Bitmap.recycle(),Cursor.close,inputStream.close()

      b.大量加載Bitmap時,根據View大小加載Bitmap,合理選擇inSampleSize,RGB_565編碼方式;使用LruCache緩存

      c.使用 靜態內部類+WeakReference 代替內部類,如Handler、線程、AsyncTask

      d.使用線程池管理線程,避免線程的新建

      e.使用單例持有Context,需要記得釋放,或者使用全局上下文

      f.靜態集合對象注意釋放

      g.屬性動畫造成內存泄露

      h.使用webView,在Activity.onDestory需要移除和銷毀,webView.removeAllViews()和webView.destory()

      備:使用LeakCanary檢測內存泄露

      三、響應速度優化

      Activity如果5秒之內無法響應屏幕觸碰事件和鍵盤輸入事件,就會出現ANR,而BroadcastReceiver如果10秒之內還未執行操作也會出現ANR,Serve20秒會出現ANR 為了避免ANR,可以開啟子線程執行耗時操作,但是子線程不能更新UI,因此需要Handler消息機制、AsyncTask、IntentService進行線程通信。

      備:出現ANR時,adb pull data/anr/tarces.txt 結合log分析

      四、其他性能優化

      a.常量使用static final修飾

      b.使用SparseArray代替HashMap

      c.使用線程池管理線程

      d.ArrayList遍歷使用常規for循環,LinkedList使用foreach

      e.不要過度使用枚舉,枚舉占用內存空間比整型大

      f.字符串的拼接優先考慮StringBuilder和StringBuffer

      g.數據庫存儲是采用批量插入+事務

       

      https://www.jianshu.com/p/6d855e984b99

      https://blog.csdn.net/hanchendong/article/details/61920501

      https://blog.csdn.net/jiankeufo/article/details/79277063

      http://www.rzrgm.cn/fangfuhai/p/7197750.html

      1、Android性能優化第(一)篇---基本概念http://www.jianshu.com/p/c0e5c13d5ecb

      第一篇簡單回顧java的內存區域劃分、引用、內存泄露以及場景,還有垃圾回收

      2、Android性能優化第(二)篇---Memory Monitor檢測內存泄露http://www.jianshu.com/p/ef9081050f5c

      第二篇主要是使用過Android Studio自帶工具Memory Monitor 檢測內存泄露

      3、Android性能優化第(三)篇---MAT比Menmery Monitor更強大http://www.jianshu.com/p/2d47d1cf5ccf

      接上一篇,介紹另外一種內存泄露的檢測工具MAT

      4、Android性能優化第(四)篇---Android渲染機制http://www.jianshu.com/p/9ac245657127

      學習一下Android渲染機制,為什么16ms沒完成繪制就會卡頓?

      5、Android性能優化第(五)篇---Allaction Tracing追蹤內存分配的軌跡http://www.jianshu.com/p/d9e426c10581

      Allaction Tracing是追蹤內存分配的工具,可以很直觀的看到某個操作是如何一步步分配的

      6、Android性能優化第(六)篇---TraceView 分析圖怎么看http://www.jianshu.com/p/388c693c1b58

      TraceView 是 Android 平臺特有的數據采集和分析工具,主要用做熱點分析,找出最需要優化的點。我就是靠它將我公司的項目的啟動速度明顯的提高了。

      7、Android性能優化第(七)篇---StrickMode嚴苛模式檢測耗時與內存問題http://www.jianshu.com/p/2ebc9363ea16

      StrictMode意思為嚴格模式,是用來檢測程序中違例情況的開發者工具。使用一般是場景是檢測主線程中本地磁盤和網絡讀寫等耗時的操作。注意這個StrictMode是在Anroid2.3以后引入的。嚴格模式主要檢測兩大問題,一個是線程策略,即TreadPolicy,另一個是VM策略,即VmPolicy。

      8、Android性能優化第(八)篇---App啟動速度優化之耗時檢測處理http://www.jianshu.com/p/a0e242d57360

      介紹如何統計應用的啟動時間和性能檢查項,并且用TraceView逐個修復

      9、Android性能優化第(九)篇---App啟動速度優化之啟動頁設計http://www.jianshu.com/p/777fe2f71039

      因為啟動頁一般View的數量比較少,業務邏輯比較簡單,啟動不太費勁,但是該怎么寫啟動頁面讓應用的啟動速度更快呢?

      10、Android性能優化第(十)篇---布局優化http://www.jianshu.com/p/c0e0cca14162

      Android系統每隔16ms就重新繪制一次Activity,如果沒有完成就會有丟幀的現象。為了減輕UI繪制的負擔,有必要把Layout編寫的一些注意事項總結一下

      11、Android性能優化第(十 一)篇---卡頓分析,正確評測流暢度http://www.jianshu.com/p/d126640eccb1

      說到應用的流暢度,都會想到FPS,FPS評測應用流暢度不準確,系統獲取FPS的原理是:手機屏幕顯示的內容是通過Android系統的SurfaceFLinger類,把當前系統里所有進程需要顯示的信息合成一幀,然后提交到屏幕上進行顯示,FPS就是1秒內SurfaceFLinger提交到屏幕的幀數。但是用FPS來評測一個應用是否真的卡頓存在兩個問題,我們可以使用Choreographer幀率檢測。

      posted on 2018-06-24 12:15  安卓筆記俠  閱讀(689)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲av区一区二区三区| 给我免费观看片在线| 男受被做哭激烈娇喘gv视频| a级免费视频| 蜜臀av一区二区三区精品| 男女性高爱潮免费网站| 99久久精品一区二区国产| 青青青爽在线视频观看| 亚洲av日韩av综合在线观看| 天天躁夜夜躁天干天干2020| 黄色段片一区二区三区| 国产精品中文字幕久久| 成人国产亚洲精品天堂av| 精品国产成人a在线观看| 开心激情站一区二区三区| 中国熟女仑乱hd| 99国产精品久久久久久久日本竹 | 91精品国产自产91精品| 麻豆国产成人AV在线播放| 陇南市| 乱女乱妇熟女熟妇综合网| 九色国产精品一区二区久久| 欧美日韩国产图片区一区| 日韩精品国产另类专区| 日韩中文字幕亚洲精品| 国内精品视频一区二区三区八戒| 色婷婷综合久久久中文字幕| 99久久国产综合精品成人影院| 无码国内精品久久人妻蜜桃| 益阳市| 成人自拍小视频免费观看| 亚洲男人天堂av在线| 日本一卡2卡3卡4卡无卡免费| 精品国产一区二区三区性色| 精品人妻少妇一区二区三区在线 | 狠狠色丁香婷婷综合尤物| 女同在线观看亚洲国产精品 | 精品国产国语对白主播野战| 精品久久久久久无码不卡| 国产精品美女免费无遮挡| 国产亚洲欧洲AⅤ综合一区|