有静态成员的班级

时间:2011-06-08 14:48:09

标签: java android class performance static-members

我创建了一个有~12个静态成员的类和2个存储了〜1500个整数的数组,所以每当我需要编码时,我都会调用该类并获得我想要的成员。
我想知道这是不是坏事。那些静态成员一直留在记忆中吗?拥有一个带有~1500个整数的2个静态数组是一件坏事吗? 我问这些问题是因为我的应用程序使用了22mb的RAM!这很多,并认为这可能是一个原因,所以这个静态类可以成为所有这些ram的原因吗?有没有更好的方法来处理这个?感谢。

5 个答案:

答案 0 :(得分:2)

如果我存储了那么多信息,我会把它放在SQLite数据库中。

答案 1 :(得分:2)

22Mb的RAM太多,你的应用程序肯定会在低OS版本的设备上崩溃。我无法看到在内存中存储1500个整数的原因,您可以尝试将它们存储在XML中并在需要时加载它们。请查看此链接以了解如何在XML文件中存储值:Providing Resources

答案 2 :(得分:1)

类的静态成员在内存中用于整个程序的执行,是的,它们始终保留在内存中,这就是您随时访问它们的方式。我无法回答你关于数组的问题,因为你没有发布很多关于你的项目的信息,根据你需要做的事情,这可能是也可能不是一个好主意。

答案 3 :(得分:0)

奥马,

 First of all. Why do you have to use array with 1500 integers in it when clearly you have better techniques to store data. Like Egor mentioned, you can use XML as well, but then, you have to choose the right technology in that as well since DOM will load everything in memory and you'll end up in the same situation.

最好的方法是将所有这些信息存储在数据库中,并随时检索相应的数据。此外,仅在需要时使用静态成员(如使用常量),这是一种很好的做法。

答案 4 :(得分:0)

2个1500个整数的数组,不占用高达22 MB的空间。您的应用中存在问题。这样的数组只需要不到50KB,因此2个数组应该在100KB左右。那么其他静态成员是什么?

相关问题