如何有效地使用静态变量?

时间:2013-07-17 08:29:40

标签: java android performance static

我想知道一些基本的东西

我正在开发一个Android应用程序,因此它引导我解决内存管理问题。 最近观看了一个与谷歌内存管理相关的视频我发现在活动中使用静态变量会导致内存泄漏,即使在活动的方向改变时也会因为它继续引用活动中的其他对象,视频中的人说使用静态变量借助静态方法将解决问题,我想知道静态方法如何解决问题?

我想知道在我的应用程序中使用静态变量的最佳方法,例如我有一个全局类,其中我存储了一些静态变量,因为它的名称表示这些值将由不同的活动进行评估和修改, 作为一个例子,我有一个静态变量WIDTH,并且目前像这样更新它

Global.WIDTH = 12

或者像 int width = Global.WIDTH 一样 来自不同的活动,这是一个正确的方法,还是我必须使用静态方法来获得宽度,如 int width = Global.getWidth();,那么这两者之间有什么区别,什么是最好的方法,

在处理静态变量时,我们必须记住哪些重要事项?

谢谢大家,很抱歉长篇大论......

1 个答案:

答案 0 :(得分:1)

静态变量可能会导致内存泄漏,因为它们永远不会超出范围,但如果你只有一些原语,如int或long,那么你就不会有问题。

如果您开始引用静态变量中的对象,尤其是集合,则需要小心。如果一个集合永远不会超出范围,那么它中包含的任何对象也都没有,并且它们引用的任何对象也都没有,因此集合有可能继续增长并消耗更多内存。

你问题中的变量,可能是一个int,虽然可以。