布局优化
1、减少布局层级,Constraintlayout、RelativeLayout
2、不要设置重复背景
3、include、merge、viewstub
4、移除Activity默认背景 如果不需要Activity的默认背景,就可以移除掉,以减少Activity启动时的渲染时间,提升启动效率
<style name="MyStyle" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@null</item>
</style>
线程优化
1、使用线程池、asyncTask、rxjava
内存泄漏
1、handler
2、非静态内部类(包括匿名内部类)默认就会持有外部类的引用
3、bitmap
4、eventbus\ BroadcastReceiver注册、反注册
5、cursor、io流
6、单例(context\全局的)
7、静态变量引用activity
8、属性动画造成内存泄露
9、WebView造成内存泄露
APK减包
1、建议把cruncherEnabled设为false,然后通过tinypng手工压缩PNG图片
2、混淆
3、尽量使用一套资源
4、在build.gradle文件中启用shrinkResources
5、最小化第三方库中资源的使用
6、纯色图片使用shape
7、减少native库的大小
网友评论