在一些博客中读到,Android 中的 GC 发生在主(UI)线程上,这可能会导致 UI 屏幕变得迟缓,具体取决于 GC 执行的频率。 因此我想知道如果我手动释放对我没有进一步用处的对象(通过分配空值)会是一个好主意吗? 这样我们就可以避免应用程序中多次执行GC。
请分享您的想法。 谢谢, 货号
最佳答案
不存在“手动释放对象”这样的东西——至少对 GC 没有任何意义。当您丢失对对象的所有引用时,对象不会立即被释放/收集/无论如何;它只是变得有资格被收集。 GC 实际上是释放对象的,并且当需要这样做时它就会这样做。
防止 GC 如此辛苦工作的唯一真正方法是创建更少的对象,尤其是临时对象。更少的垃圾==更少的收集。
关于java - 避免多次垃圾收集执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7425534/