Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java垃圾收集器和字段变量_Java_Android_Garbage Collection - Fatal编程技术网

Java垃圾收集器和字段变量

Java垃圾收集器和字段变量,java,android,garbage-collection,Java,Android,Garbage Collection,实际上,我有一个快速的问题,我找不到答案 我非常坚持我的Android/Java应用程序消耗尽可能少的RAM,因为它有助于用户体验 说到这里,我的问题集中在字段变量和垃圾收集器上 我的应用程序将启动,我有一个设置字段变量列表(硬编码)。现在为了可读性,我选择了字段变量。如果我希望进行快速更改,我会更改值,而不是查看代码以查看变量实际使用的时间 在这种情况下,我的字段变量仅在应用程序第一次加载时使用一次 垃圾收集器是否删除此变量,或者我必须手动将其设置为null。我知道一个简单的int值不值得大惊

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

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

说到这里,我的问题集中在字段变量和垃圾收集器上

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

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

垃圾收集器是否删除此变量,或者我必须手动将其设置为null。我知道一个简单的int值不值得大惊小怪,但是我对垃圾收集器很好奇


包含该字段的对象将始终处于使用状态(在本例中,它将是一个Android ViewPagerAdapter)。

字段变量是强引用;只要该类对象存在,字段变量就必须保持可访问性。如果您只在一个方法中使用它们,那么只将它们保留在该方法运行的范围内(稍微、稍微)会更有效。

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

我给你们的最好建议是,请参阅Android最佳实践文档,以提高应用程序性能


  • 在单个
    int
    上没有要收集的内容。带有
    int
    字段的对象有一个位置(4字节),您对此无能为力。保持它未初始化与在那里写入零是一样的。它们是实例字段还是静态字段?如果它们是静态的,占用的空间可以忽略不计。如果它们是实例字段,请考虑使它们静态。也许它们应该在.file文件中,只要该对象在周围。是的,对象。为清晰起见进行了编辑。