内存泄露优化
分为两个方面:
- 开发过程中尽量避免写出有内存泄露
- 通过一些分析工具(比如MAT)来找出潜在的内存泄露
泄露场景
静态变量导致的内存泄露
Activity被引用,无法正常销毁
- Activity当中包含静态变量context
- Activity当中包含静态变量view
单例模式导致的内存泄露
自己去查吧,不好写
属性动画导致的内存泄露
举例:
属性动画中有一类无限循环的动画,如果在Activity中播放此类动画且没有在onDestory中取钱停止动画,那么动画会一直播放下去,尽管已经无法在介面上看到动画效果了,但是Activity的View会被动画持有,而View持有Activity,最终Activity无法释放。
解决:
在Activity的onDestroy中调用animator.cancel()来停止动画。
其他各种可能内存泄露
ViewPager自动轮播
Fragment
本文介绍内存泄露的常见原因,如静态变量、Activity引用等,并提供解决方案,例如在Activity的onDestroy中取消动画,同时推荐使用MAT等工具进行内存泄露分析。
1078

被折叠的 条评论
为什么被折叠?



