连接到https://developer.android.com/topic/performance/memory-overview#gc,安卓目前的gc似乎是CMS。
有了g1的好处,为什么安卓不使用g1?
发布于 2022-01-11 03:35:26
你的问题是基于以下几个错误的前提:
- It does say that the Android GC is generational, but many, many collectors are generational.
- It does NOT say that the Android collector is _concurrent_, which is one of the important characteristics of CMS and G1.简而言之,安卓支持G1收集器没有多大意义。这种情况不太可能发生。
发布于 2022-01-11 03:27:21
G1垃圾收集器是Oracle的一个特性,但Android不使用Oracle。此外,从设计角度来看,G1 GC不适合移动设备,这很可能是导致类似算法没有在安卓或Dalvik运行时实现的一个因素。来自此页
垃圾优先(G1)收集器是一种服务器式垃圾收集器,针对具有大内存的多处理器计算机.
此外,它的内存开销更高,这对于资源受限的移动设备来说是个问题:
如果你从.CMS收集器到G1,您可能会看到一个更大的JVM进程大小。这在很大程度上与“会计”数据结构有关,如记忆集和集合集。
https://stackoverflow.com/questions/70661245
复制相似问题