5

我想知道一些基本的东西

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

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

Global.WIDTH = 12

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

在处理静态变量时,我们还需要记住哪些其他重要的事情?

谢谢大家,对冗长的描述感到抱歉...

4

1 回答 1

1

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

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

不过,您问题中的变量(大概是一个 int)会没问题。

于 2013-07-17T08:38:53.207 回答