1逻谦、布局文件merge 合并同布局級(jí)別
2骨田、界面View過(guò)多,層級(jí)過(guò)深
3能曾、內(nèi)部Handler 未使用靜態(tài)修飾符父丰,可能導(dǎo)致內(nèi)存泄露
4郊尝、自定義View 在onMeasure跋炕、onLayout久橙、onDraw等避免使用new 關(guān)鍵字創(chuàng)建對(duì)象,因?yàn)檫@些方法都是诉儒、
可能被多次調(diào)用,使用new 會(huì)開(kāi)辟內(nèi)存亏掀,影響性能
5忱反、自定義View中 TypedArray 及時(shí)回收,TypedArray本身是使用池和單例模式獲取對(duì)象滤愕,由于系統(tǒng)頻繁
創(chuàng)建arrary温算,內(nèi)存和性能都是開(kāi)銷(xiāo),所以需要回收间影。
6注竿、不去使用靜態(tài)的context 也不要在Application中設(shè)置靜態(tài)的context來(lái)使用,使用context的時(shí)候根據(jù)
使用的場(chǎng)景 判斷一下應(yīng)該使用什么樣的context
7魂贬、刪除未使用的資源巩割,lint--->unused resurce
8、將allowBackup屬性值顯示設(shè)置為false付燥,如為T(mén)rue,則應(yīng)用數(shù)據(jù)支持備份宣谈,可能存在安全隱患
9、android SparseArray使用键科,Android內(nèi)部特有的api,標(biāo)準(zhǔn)的jdk是沒(méi)有這個(gè)類(lèi)的.在Android內(nèi)部用來(lái)替代
HashMap<Integer,E>這種形式,使用SparseArray更加節(jié)省內(nèi)存空間的使用,
SparseArray也是以key和value對(duì)數(shù)據(jù)進(jìn)行保存的.使用的時(shí)候只需要指定value的類(lèi)型即可.并且key不需要封裝成對(duì)象類(lèi)型