700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android性能优化——内存泄漏优化

Android性能优化——内存泄漏优化

时间:2019-06-14 07:40:08

相关推荐

Android性能优化——内存泄漏优化

内存泄漏的优化分为两个方面

一方面:开发过程中避免写出有内存泄漏的代码 。

另一方面:通过一些分析工具比如MAT来找出潜在的内存泄露从而解决

场景1:静态变量导致的内存泄漏

场景2:单例模式导致的内存泄漏

这个不容小视。

接着让Activity实现 OnDataArrivedListener接口,并注册监听 。如下

上面的代码由于缺少注册的操作所以会引起泄漏, 原因 Activityde 对象被单例模式的TestManager所持有,而单例模式的特点是其生命周期和Application保持一致,所以Activity对象不能及时释放。

场景3:属性动画导致的内存泄漏

Google在 Android 3.0开始,提供了属性动画,动画中有一类是无限循环播放的动画。加入没有在Acitvity的onDestory中去停止动画,那么 动画会一直播放下去,,尽管无法在界面上看到动画效果了,而且这个时候的Activity的view会被动画持有,而view又持有Acitvity.最终Acitvity无法释放,解决办法:就是在Activity中的onDestory中调用animator.cancel()来停止动画。

代码在这里就不列举了

其实,内存泄漏的地方还有很多,例如,I/O操作的时候,没有及时关流等等。希望大家细心多思考避免各种各样的错误。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。