内存抖动
内存抖动
内存抖动
内存抖动
什么是内存抖动?
是内存抖动是由于短时间内有大量对象进出 Yong Generation
区导致的,它伴随着频繁的 GC。
通常发生内存抖动时,在 AS 的 Monitors 可以看到,内存曲线短时间内波动很大。
如何避免内存抖动
- 尽量避免在循环体内部创建对象,应该把对象创建移到循环体外
- 注意自定义 View 的 onDraw() 方法会频繁被调用,所以不要在该方法中创建对象
- 使用 StringBuilder 拼接字符串,不要频繁使用
+/-
- 当需要大量使用 Bitmap 时,试着把它们缓存在数组中实现复用
- 对于能够复用的对象,使用对象池将它们缓存起来
内存抖动排查
用 AS Profiler 工具,如果一段时间内,呈现了锯齿状图形,可能是出现了内存抖动,再分析具体代码存在的问题
本文由作者按照 CC BY 4.0 进行授权