我实际上有一个我无法找到答案的快速问题。
我非常坚持我的Android / Java应用程序尽可能少地占用RAM,因为它有助于用户体验。
据说,我的问题主要集中在字段变量和垃圾收集器上。
我的应用程序将启动,我有一个设置字段变量列表(硬编码)。现在为了便于阅读,我选择了字段变量。如果我想快速更改,我会更改值,而不是通过我的代码查看该变量实际使用的时间。
在这种情况下,我的字段变量仅在第一次加载应用程序时使用ONCE。
垃圾收集器是删除此变量还是必须手动将其设置为null。我知道一个简单的int值并不是很多,但我很好奇垃圾收集器。
包含该字段的对象将始终在使用(在这种情况下,它将是Android ViewPagerAdapter)。
答案 0 :(得分:2)
字段变量是强引用;只要 class 对象在周围,字段变量必须保持可访问状态。如果你只是在一种方法中使用它们,那么(略微,稍微)更有效率只能将它们保留在该方法的运行范围内。
答案 1 :(得分:0)
一般情况下,您不需要将字段显式设置为null,但是如果您真的关心性能/内存,请避免创建字段而是去寻找局部变量,即如果可能的话将字段转换为局部变量,并避免创建不必要的字段只使用过一次。
我建议的最好是请参阅针对应用性能改进的Android最佳做法文档