1、布局文件merge 合并同布局級別
2、界面View過多,層級過深
3、內(nèi)部Handler 未使用靜態(tài)修飾符,可能導致內(nèi)存泄露
4、自定義View 在onMeasure、onLayout、onDraw等避免使用new 關鍵字創(chuàng)建對象,因為這些方法都是、
可能被多次調(diào)用,使用new 會開辟內(nèi)存,影響性能
5、自定義View中 TypedArray 及時回收,TypedArray本身是使用池和單例模式獲取對象,由于系統(tǒng)頻繁
創(chuàng)建arrary,內(nèi)存和性能都是開銷,所以需要回收。
6、不去使用靜態(tài)的context 也不要在Application中設置靜態(tài)的context來使用,使用context的時候根據(jù)
使用的場景 判斷一下應該使用什么樣的context
7、刪除未使用的資源,lint--->unused resurce
8、將allowBackup屬性值顯示設置為false,如為True,則應用數(shù)據(jù)支持備份,可能存在安全隱患
9、android SparseArray使用,Android內(nèi)部特有的api,標準的jdk是沒有這個類的.在Android內(nèi)部用來替代
HashMap<Integer,E>這種形式,使用SparseArray更加節(jié)省內(nèi)存空間的使用,
SparseArray也是以key和value對數(shù)據(jù)進行保存的.使用的時候只需要指定value的類型即可.并且key不需要封裝成對象類型