国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android性能優化方法

2020-04-11 11:12:49
字體:
來源:轉載
供稿:網友

GPU過度繪制

 •打開開發者選型,“調試GPU過度繪制”,藍、綠、粉紅、紅,過度繪制依次加深
 •粉紅色盡量優化,界面盡量保持藍綠顏色
 •紅色肯定是有問題的,不能忍受

使用HierarchyView分析布局層級

 •刪除多個全屏背景:應用中不可見的背景,將其刪除掉
 •優化ImageView:對于先繪制了一個背景,然后在其上繪制了圖片的,9-patch格式的背景圖中間拉伸部分設置為透明的,Android 2D渲染引擎會優化9-patch圖中的透明像素。這個簡單的修改可以消除頭像上的過度繪制。
 •縮短View層級結構 •刪除非必須View,不僅僅能提高幀率還能降低對內存的消耗、同時還能加速應用的啟動
 •TextView組合圖標,代替LinearLayout+TextView+ImageView
 •使用mearge標簽
 •使用RelativeLayout扁平化布局
 •特別是ListView item布局,一定要扁平化

不要吝嗇發現Android Device Monitor的功能

 •Start Method Profiling •可以觀察每個線程的方法調用情況,
 •可以通過觀察,方法的調用次數、每次方法執行時間
 •找到有是否死循環,是否為耗時操作

使用LeakCanary發現內存溢出

 •在開發階段一定要集成LeakCanary,而且非常容易集成
 •及時發現Activity頁面內存溢出地方法
 •詳細的內存溢出方法跟蹤,便于定位異常點

使用lint工具給APK包減肥

使用OneAPM監控App性能

使用SVG代替圖片

 •需要和設計配合

使用xml代替圖片

代碼規范制定并遵守

 •一致的代碼風格,有利于代碼維護、查看和發現問題所在

下面在給大家分享Android性能優化一些方法

1.采用硬件加速,在androidmanifest.xml中application添加 android:hardwareAccelerated=”true”。不過這個需要在android 3.0才可以使用。
2.View 中設置緩存屬性.setDrawingCache為true。
3.優化你的布局。通過Android sdk中tools目錄下的layoutopt 命令查看你的布局是否需要優化。
4.動態加載View.采用ViewStub 避免一些不經常的視圖長期握住引用。
5.將Acitivity 中的Window 的背景圖設置為空。getWindow().setBackgroundDrawable(null);android的默認背景是不是為空。
6.采用 優化布局層數。 采用來共享布局。
7.查看Heap 的大小。
8.利用TraceView查看跟蹤函數調用。有的放矢的優化。
9.cursor 的使用。不過要注意管理好cursor,不要每次打開關閉cursor。因為打開關閉Cursor非常耗時。Cursor.require用于刷新cursor。
10.采用環形Buffer(可以采用鏈表數據結構實現)。可以設置一個鏈表長度的上限,根據手勢的變化來不斷地更新環形Buffer的內容。
11.采用SurfaceView在子線程刷新UI, 避免手勢的處理和繪制在同一UI線程(普通View都這樣做)。
12.采用JNI,將耗時間的處理放到c/c++層來處理。
13.有些能用文件操作的,盡量采用文件操作,文件操作的速度比數據庫的操作要快10倍左右。
14.懶加載和緩存機制。訪問網絡的耗時操作啟動一個新線程來做,而不要再UI線程來做。
15.消息緩存通過handler.obtainMessage復用之前的message。

16.文件IO緩存,使用具有緩存策略的輸入流,BufferedInputStream替代InputStream,BufferedReader替代 Reader,BufferedReader替代BufferedInputStream.對文件、網絡IO皆適用。例如:
HttpURLConnection con=(HttpURLConnection)url.openConnection();BufferedReader input =newBufferedReader(new InputStreamReader(con.getInputStream()));
Strings;
while((s = input.readLine()) != null) {

}

17.Layout優化:使用抽象布局標簽(include,viewstub,merge)、去除不必要的嵌套和View節點、減少不必要的infalte及其他Layout方面可調優點,順帶提及布局調優相關工具 (hierarchy viewer和lint)。
18.TextView屬性優化:TextView的android:ellipsize=”marquee”跑馬燈效果極耗性能。
19.使用hashMap代替arrayList,時間復雜度降低一個數量級。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通渭县| 安徽省| 砀山县| 虞城县| 四会市| 延庆县| 万源市| 大兴区| 榕江县| 博客| 清水县| 台北县| 龙江县| 扬州市| 永和县| 太谷县| 喀喇沁旗| 馆陶县| 大竹县| 容城县| 新干县| 昭觉县| 遵义县| 宁城县| 建昌县| 铜梁县| 宣汉县| 揭阳市| 娱乐| 红原县| 六盘水市| 西安市| 高邮市| 山西省| 星座| 郴州市| 尚义县| 三台县| 大英县| 澎湖县| 达拉特旗|