1

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

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

话虽如此,我的问题集中在字段变量和垃圾收集器上。

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

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

垃圾收集器是否删除了这个变量,或者我必须手动将其设置为 null。我知道一个简单的 int 值没什么好哭的,但是我对垃圾收集器很好奇。

包含该字段的对象将始终处于使用状态(在这种情况下它将是一个 Android ViewPagerAdapter)。

4

2 回答 2

2

字段变量是强引用;只要那班级 对象在附近,字段变量必须保持可访问。如果您只在一种方法中使用它们,那么仅将它们保持在该方法运行的范围内会(略微地)更有效。

于 2013-10-22T00:50:59.663 回答
0

通常,您不需要将字段显式设置为空,但是如果您真的关心性能/内存,请避免创建字段,而是使用局部变量,即如果可能,将字段转换为局部变量到方法,如果它们只使用一次,则避免创建不必要的字段.

我建议您的最佳方法是请参阅 Android 最佳实践文档以提高应用性能

  1. http://developer.android.com/training/best-performance.html
  2. http://developer.android.com/training/articles/perf-tips.html
于 2013-10-22T01:05:29.527 回答