性能优化

1、内存优化
2、网络优化
3、电量优化
4、View优化
5、安装包的优化(安装包的瘦身)
6、多线程并发性能优化

1、内存泄漏优化–LeakCanary直接检测

首先,先了解一下内存泄漏
1、什么是内存泄漏?

内存没有被gc回收。内存被引用了,但是gc没有办法把其回收掉。

2、什么对象不能够被垃圾回收机制回收

存活在GC Root下面的

2、内存泄漏的原因?

1、java stack中引用指向的对象不能被gc回收
2、jni(本地方法区)引用指向的对象也不能被gc回收
3、静态引用指向的对象也不能被gc回收
4、栈中的常量引用也不能被gc回收
5、活着的Thread也不能被gc回收

其次,我们怎么解决内存泄漏的问题呢?

2、定位内存泄漏

首先,我们打开插上模拟器,启动应用后,走一下几个activity的流程,然后打开Android Monitor,可以查看镜像

点击 小卡车图标(图中1位置图标) 可以触发一次 GC,然后dump java herof文件,保存起来

其次,下载MAT工具,我们来分析一下,内存泄漏的原因,打开工具

然后倒入文件,然后我们继续dump一下没有操作时候的文件。我们可以对比的看一下

坚持原创技术分享,您的支持将鼓励我继续创作!