各位看官,性能優化是程序員必不可少的一項技能,如果你不瞭解,讓我們看看性能優化都指的是哪些方面吧!
思想:性能優化的目的是提高用戶體驗。
對於App來說,影響用戶體驗的問題有:崩潰、卡頓、界面(醜拒)、響應速度
針對這些問題優化可以從以下方面入手:
1.崩潰優化
檢測工具/方法:查看log目錄下的logcat日記,具體問題具體分析
產生原因:代碼邏輯問題(ANR、代碼出錯...)、內存方面(從內存優化方面入手)
解決方法:重現問題+分析日記+查看源碼
2.卡頓優化
檢測工具/方法:TraceView
產生原因:xml佈局(層數過深)、頻繁GC(不斷的創建對象)、CPU性能問題
解決方法:佈局優化+減少對象創建(如:線程池、onDraw方法)
3.UI優化
解決點:優化UI渲染性能、UI設計方面
解決方法:OpenGL、硬件加速
4.存儲優化
解決點:存儲安全(權限問題)、數據加密
存儲方法:SharePreferences、ContentProvider、文件、數據庫
5.內存優化
檢測工具:Android profiler
產生原因:內存泄漏、內存不足、設備問題
解決方法:內存泄漏解決+Bitmap優化+統一圖片庫(如Glide)
6.網絡優化
使用網絡請求庫Retrofit
7.耗電優化
待補充
8.包體積優化
工具:AndResGuard工具
解決方法:Dex、插件化