gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:20 25 4
gpt4 key购买 nike

我想知道一些基本的东西

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

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

Global.WIDTH = 12

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

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

谢谢大家,抱歉描述太长了......

最佳答案

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

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

不过,您问题中的变量(可能是 int)没问题。

关于java - 如何有效地使用静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17694832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com