各位看官,性能优化是程序员必不可少的一项技能,如果你不了解,让我们看看性能优化都指的是哪些方面吧!
思想:性能优化的目的是提高用户体验。
对于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、插件化