Skip to content
阅读进度

如何理解内存泄漏与内存抖动? ​

返回 性能与稳定性 目录

标准回答 ​

泄漏强调对象或资源超出合理生命周期仍被保留;内存抖动强调短时间大量分配与释放,可能没有持续增长,但会增加GC、分配慢路径和CPU成本。

滑动时每帧创建临时数组、字符串或Bitmap,是抖动的候选。已退出页面仍被单例持有,是泄漏候选。分别看对象存活与引用路径,以及分配速率和GC时间线。

优化先减少不必要分配和合理复用。对象池有额外持有、同步和清理成本,不适合给所有小对象一律建池;更不应该为降低GC频率永久缓存所有对象。

追问与回答 ​

GC次数下降,但卡顿更严重了怎么办 ​

可能对象活得更久、每次回收更重,或者池化引入锁和更大内存压力。回到暂停时间、尾延迟与总内存,而不是单看次数。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。