android 內存優化(一) 防止內存泄漏注意事項

1)context除開dialog必須使用this外,其餘的需要用到context的地方都應該用application的context即getapplicationcontext,防止靜態內部類持有activity引用,單例context
2)handler使用完之後需要在界面銷燬時remove掉,實際網上說的弱引用acitivity處理handler泄漏的沒太大實際意義,代碼一大堆,又不實用
3)廣播類的註冊和取消註冊應該成對出現,即oncreate/onresume時註冊,ondestory/onstop時取消註冊,於此相關的還有contentobserver也是類似
4)數據庫增刪減查時用的cursor都需要在用完後及時的close,文件io流讀寫操作使用完後要及時關閉
5)線程,線程池,異步類處理耗時操作時,需要在界面銷燬時應該有停止線程或者取消異步任務的邏輯,儘量使用線程池,可以循環使用資源
6)佔資源較多的list或者數組應該在使用完後及時的清空
7)第三方框架注意及時釋放資源,如okhttp,eventbus等,移除多餘的庫
8)webview在界面銷燬時要及時釋放資源
9)音視頻播放類的要在界面銷燬時及時的release釋放資源
10)用Protocol Buffers代替序列化數據?
11)listview/gridview重用view機制
12)循環執行動畫類的界面銷燬時及時停止動畫釋放資源
13)當界面不可見時釋放內存 onStop(),當內存緊張時釋放內存 onTrimMemory()
14)bitmap壓縮 節省內存 及時釋放資源 

https://blog.csdn.net/u010672559/article/details/103178632 android 內存優化(一) 防止內存泄漏注意事項

https://blog.csdn.net/u010672559/article/details/103178663 android 內存優化(二) 性能優化

https://blog.csdn.net/u010672559/article/details/81098534 android 內存優化(三) 內存優化工具-MAT的使用及實例分析

https://blog.csdn.net/u010672559/article/details/81223122 android 內存優化(四) 性能優化-Systrace分析UI性能-含demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章