专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
今天看啥  ›  专栏  ›  鸿洋

Android Native内存越多,会不会触发GC?

鸿洋  · 公众号  · android  · 2024-11-22 08:35

主要观点总结

文章主要讨论了Android中的垃圾回收机制(GC)对Native内存的影响。文章首先介绍了Java虚拟机中的垃圾回收机制,然后探讨了Native内存分配是否会影响虚拟机的GC回收策略。接着,文章详细解释了ART虚拟机中,当Native内存占用达到一定阈值时,会触发GC的原因和过程。这个过程涉及到一个叫做NativeAllocationRegistry的类,用于管理Java对象及其持有的Native内存。文章还提到了一种性能优化的方法,即通过检测当前Native内存的大小,主动触发GC操作,以提高内存回收的效率。最后,文章还推荐了一个网站和公众号,供读者进一步学习和了解Android相关知识。

关键观点总结

关键观点1: 垃圾回收机制对Native内存的影响

文章探讨了Java虚拟机中的垃圾回收机制是否会影响Native内存,以及ART虚拟机中,当Native内存达到一定阈值时,会触发GC的原因和过程。

关键观点2: NativeAllocationRegistry的作用

NativeAllocationRegistry用于管理Java对象及其持有的Native内存,当Native内存占用达到一定阈值时,会触发GC。

关键观点3: 性能优化方法

文章提到了一种性能优化的方法,即通过检测当前Native内存的大小,主动触发GC操作,以提高内存回收的效率。

关键观点4: 网站和公众号推荐

文章最后推荐了一个网站和公众号,供读者进一步学习和了解Android相关知识。


文章预览

本文作者 作者: Pika 链接: https://juejin.cn/post/7432327923213205555 本文由作者授权发布。 最近都在更新鸿蒙相关的话题,android的文章比较少,我们来聊一个Android中有趣的话题,还是GC。 1 一个有趣的话题 我们都知道Java虚拟机中都会有垃圾回收机制(GC),有了垃圾回收机制的存在,虚拟机可以根据策略去回收一些被释放的Java对象,从而保证整个内存的空间不至于无限增长,一般的策略就是看Java虚拟机中的内存空间大小占比去决定要不要进行GC,那么问题来了,Native中分配的内存,会不会影响虚拟机的GC回收策略呢?换句话来说,Native内存越多,会不会触发GC? 答案是,会的,ART虚拟机中有这种机制,不过可以说是“间接的”。 2 ART中关于Native内存占用导致的GC 在ART GC策略中,触发常规GC时,GC大致触发可以分为策略触发GC  RequestConcurrentGC  与分配时GC ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览