链接到https://developer.android.com/topic/performance/memory-overview#gc,Android当前的gc似乎是CMS。有了g1好处,为什么android不使用g1?
mf98qq941#
你的问题是基于一些错误的前提:
简而言之,Android支持G1收集器并没有多大意义,而且这种情况也不太可能发生。
icomxhvb2#
G1垃圾收集器是Oracle JVM的一项功能,但Android不使用Oracle JVM。此外,从设计Angular 来看,G1 GC不适合移动的设备,这可能是Android或Dalvik运行时中没有实现类似算法的原因之一。来自this page:Garbage-First(G1)收集器是一种服务器样式的垃圾收集器,适用于具有大内存的多处理器计算机。此外,其存储器开销较高,这对于资源受限的移动的设备是有问题的:如果从... CMS收集器迁移到G1,则可能会看到较大的JVM进程大小。这主要与“记帐”数据结构(如记忆集和收集集)有关。
2条答案
按热度按时间mf98qq941#
你的问题是基于一些错误的前提:
简而言之,Android支持G1收集器并没有多大意义,而且这种情况也不太可能发生。
icomxhvb2#
G1垃圾收集器是Oracle JVM的一项功能,但Android不使用Oracle JVM。此外,从设计Angular 来看,G1 GC不适合移动的设备,这可能是Android或Dalvik运行时中没有实现类似算法的原因之一。来自this page:
Garbage-First(G1)收集器是一种服务器样式的垃圾收集器,适用于具有大内存的多处理器计算机。
此外,其存储器开销较高,这对于资源受限的移动的设备是有问题的:
如果从... CMS收集器迁移到G1,则可能会看到较大的JVM进程大小。这主要与“记帐”数据结构(如记忆集和收集集)有关。