android性能优化篇(二)内存抖动和内存泄漏
2020-09-01 本文已影响0人
Timeschang_e07c
内存抖动指段时间内大量对象创建和销毁,伴随着频繁的gc
具体在androidstudio中用分析内存,找到频繁gc的对象修改代码。
预防抖动
1.避免循环中创建对象
2.避免频繁调用的方法中创建对象 比如 Viewd的ondraw方法
3允许重复的情况下使用对象池进行缓存
内存泄漏
程序中已动态分配的堆内存由于某种原因程序未释放或者无法释放,造成系统内存的浪费。长神明周期对象持有短生命周期的对象强引用,从而导致短生命周期对象无法被回收。
分析内存泄漏问题在用profile同上。操作activity,找到需要分析的activity,record。用eclipse 的mat软件分析未回收的是否是弱引用和软引用从而断定内存泄漏。使用之前需要用sdk中的hprof-conv.ext修改文件名。