Java垃圾收集器和字段变量
实际上,我有一个快速的问题,我找不到答案 我非常坚持我的Android/Java应用程序消耗尽可能少的RAM,因为它有助于用户体验 说到这里,我的问题集中在字段变量和垃圾收集器上 我的应用程序将启动,我有一个设置字段变量列表(硬编码)。现在为了可读性,我选择了字段变量。如果我希望进行快速更改,我会更改值,而不是查看代码以查看变量实际使用的时间 在这种情况下,我的字段变量仅在应用程序第一次加载时使用一次 垃圾收集器是否删除此变量,或者我必须手动将其设置为null。我知道一个简单的int值不值得大惊小怪,但是我对垃圾收集器很好奇Java垃圾收集器和字段变量,java,android,garbage-collection,Java,Android,Garbage Collection,实际上,我有一个快速的问题,我找不到答案 我非常坚持我的Android/Java应用程序消耗尽可能少的RAM,因为它有助于用户体验 说到这里,我的问题集中在字段变量和垃圾收集器上 我的应用程序将启动,我有一个设置字段变量列表(硬编码)。现在为了可读性,我选择了字段变量。如果我希望进行快速更改,我会更改值,而不是查看代码以查看变量实际使用的时间 在这种情况下,我的字段变量仅在应用程序第一次加载时使用一次 垃圾收集器是否删除此变量,或者我必须手动将其设置为null。我知道一个简单的int值不值得大惊
包含该字段的对象将始终处于使用状态(在本例中,它将是一个Android ViewPagerAdapter)。字段变量是强引用;只要该类对象存在,字段变量就必须保持可访问性。如果您只在一个方法中使用它们,那么只将它们保留在该方法运行的范围内(稍微、稍微)会更有效。通常,您不需要显式地将字段设置为null,但是,如果您真的关心性能/内存,请避免创建字段,而应选择局部变量,即,如果可能,将字段转换为局部变量到方法,如果只使用一次,请避免创建不必要的字段 我给你们的最好建议是,请参阅Android最佳实践文档,以提高应用程序性能
在单个
int
上没有要收集的内容。带有int
字段的对象有一个位置(4字节),您对此无能为力。保持它未初始化与在那里写入零是一样的。它们是实例字段还是静态字段?如果它们是静态的,占用的空间可以忽略不计。如果它们是实例字段,请考虑使它们静态。也许它们应该在.file文件中,只要该对象在周围。是的,对象。为清晰起见进行了编辑。