java - 避免多次垃圾收集执行

标签 java android memory-leaks garbage-collection

在一些博客中读到,Android 中的 GC 发生在主(UI)线程上,这可能会导致 UI 屏幕变得迟缓,具体取决于 GC 执行的频率。 因此我想知道如果我手动释放对我没有进一步用处的对象(通过分配空值)会是一个好主意吗? 这样我们就可以避免应用程序中多次执行GC。

请分享您的想法。 谢谢, 货号

最佳答案

不存在“手动释放对象”这样的东西——至少对 GC 没有任何意义。当您丢失对对象的所有引用时,对象不会立即被释放/收集/无论如何;它只是变得有资格被收集。 GC 实际上是释放对象的,并且当需要这样做时它就会这样做。

防止 GC 如此辛苦工作的唯一真正方法是创建更少的对象,尤其是临时对象。更少的垃圾==更少的收集。

关于java - 避免多次垃圾收集执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7425534/

相关文章:

java - 如何从javascript中的java文件调用方法?

java - 类型转换可以作为适配器设计模式的一个例子吗?

java - Android 导航组件 - 为什么要在导航图中添加参数?

android - 如何在android中使 "uses-library"可选

java - token ">="出现语法错误,删除此 token

java - Guice注入(inject): parameter not explicity bound

java - Intent 抽屉导航 fragment

c# - 如果我将一个控件绑定(bind)到另一个控件,并且其中一个控件死亡,那么绑定(bind)会发生什么情况?

c++ - 如何在 C++ 代码/项目中查找内存泄漏?

c++ - 如何使用valgrind?