Java垃圾收集器和字段变量

时间:2013-10-22 00:46:52

标签: java android garbage-collection

我实际上有一个我无法找到答案的快速问题。

我非常坚持我的Android / Java应用程序尽可能少地占用RAM,因为它有助于用户体验。

据说,我的问题主要集中在字段变量和垃圾收集器上。

我的应用程序将启动,我有一个设置字段变量列表(硬编码)。现在为了便于阅读,我选择了字段变量。如果我想快速更改,我会更改值,而不是通过我的代码查看该变量实际使用的时间。

在这种情况下,我的字段变量仅在第一次加载应用程序时使用ONCE。

垃圾收集器是删除此变量还是必须手动将其设置为null。我知道一个简单的int值并不是很多,但我很好奇垃圾收集器。

包含该字段的对象将始终在使用(在这种情况下,它将是Android ViewPagerAdapter)。

2 个答案:

答案 0 :(得分:2)

字段变量是强引用;只要 class 对象在周围,字段变量必须保持可访问状态。如果你只是在一种方法中使用它们,那么(略微,稍微)更有效率只能将它们保留在该方法的运行范围内。

答案 1 :(得分:0)

一般情况下,您不需要将字段显式设置为null,但是如果您真的关心性能/内存,请避免创建字段而是去寻找局部变量,即如果可能的话将字段转换为局部变量,并避免创建不必要的字段只使用过一次。

我建议的最好是请参阅针对应用性能改进的Android最佳做法文档

  1. http://developer.android.com/training/best-performance.html
  2. http://developer.android.com/training/articles/perf-tips.html