常用的:
1.優化循環.通過重新組織重複的子表達式來提高循環體的運行性能.
2減少使用對象的數量來提高運行性能.
3.縮減網路傳輸數據來縮短等待時間.
其他:
1.採用對象池技術,提高對象的利用效率.
性能的損耗主要源於創建和釋放對象,因此要避免對象的創建和釋放.採用對象池技術,預先定義一個對象池,預先創建一組待使用的對象:
Enemy[5] enemy=new Enemy[5];
for(int i=0;i<5;i ){
enemy[i]=new Enemy();
}
增加標誌如used和reset標識Enemy的狀態.需要創建對象時從對象池中獲取 一個未被使用的對象並用reset方法初始化;需要釋放時只需修改標誌位以供下次使用即可.
2.儘可能使用基本數據類型代替對象
例如用二維數組代替一個寫簡單的對象.
3.優化演算法
比如對於默寫不要求很精細的場景和演算法,用簡單的演算法模擬.
4.其他優化
a.如提取字元串時,試著返回子串而不是創建一個副本.
b.盡量的少創建短期的臨時對象.
c.能用庫函數的就不要自己創建(庫函數是優化好的)
d.Map map=new HashMap();
HashMap map=new HashMap(); //這個性能更高,重構代碼
e.增強型for循環和Iterable使用時,多了一個對象的創建,慎用.
f.避免enum類型.
g.嵌入式開發時注意浮點的運用,盡量不用.(處理器是否支持浮點)
h.圖片資源壓縮、多張圖片集中到一張圖片上(比單獨的和小很多,省去了每張的頭文件、結束文件等數據塊,合併了調色板)