Ren*_*K N 5 java performance static android
我想知道一些基本的东西
我正在开发一个Android应用程序,因此它导致我的内存管理问题.最近观看了与谷歌内存管理相关的视频我发现在活动中使用静态变量会导致内存泄漏,即使在活动的方向更改中也会因为它保留对活动中其他对象的引用,视频中的人说使用静态变量静态方法的帮助将解决问题,我想知道静态方法将如何解决问题?
我想知道在我的应用程序中使用静态变量的最佳方法,例如我有一个全局类,其中我存储了一些静态变量,因为它的名称表示这些值将由不同的活动进行评估和修改.例如,我有一个静态变量WIDTH并且当前正在更新它
Global.WIDTH = 12
或者int width = Global.WIDTH
从不同的活动中得到它,这是一个正确的方法,还是我必须使用静态方法来获得宽度int width = Global.getWidth();,然后两者之间有什么区别,最好的方法是什么,
在处理静态变量时我们必须记住的其他重要事项是什么?
谢谢大家,很抱歉长篇大论......
静态变量可能会导致内存泄漏,因为它们永远不会超出范围,但如果您只有几个基元(例如 int 或 long),那么就不会有问题。
如果开始引用静态变量中的对象(尤其是集合),则需要小心。如果一个集合永远不会超出范围,那么其中包含的任何对象也不会超出范围,它们引用的任何对象也不会超出范围,因此该集合有可能会继续增长并消耗更多内存。
你问题中的变量(大概是一个 int)就可以了。
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |