外观
如何理解ART GC 与暂停时间?
标准回答
ART采用的收集器和策略随版本变化,常见方案通过并发标记或复制减少应用停顿,但仍可能存在暂停点、读写屏障、线程协调以及CPU和带宽竞争。
Trace里要区分整个GC持续时间与真正的Stop-The-World暂停。GC总共100ms不表示主线程冻结100ms;反过来,分配等待或频繁回收也可能在很短暂停之外影响体验。
结合分配速率、对象存活量、堆容量、暂停和线程状态分析。优化通常是减少无谓分配、释放不再需要的对象并减少关键路径上的大分配,不是反复调用System.gc。
追问与回答
有GC时间上重合就能判定掉帧原因吗
不够。确认关键线程确实受暂停、分配阻塞或资源争用影响;用降低分配的受控改动验证因果。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q055