簡體   English   中英

如何有效地使用靜態變量?

[英]How to use static variables efficiently?

我想知道一些基本的東西

我正在開發一個Android應用程序,因此它導致我的內存管理問題。 最近觀看了一個與谷歌內存管理相關的視頻我發現在活動中使用靜態變量會導致內存泄漏,即使在活動的方向改變時,因為它會保留對活動中其他對象的引用,視頻中的人說使用靜態變量靜態方法的幫助將解決問題,我想知道靜態方法將如何解決問題?

我想知道在我的應用程序中使用靜態變量的最佳方法,例如我有一個全局類,其中我存儲了一些靜態變量,因為它的名稱表示這些值將由不同的活動進行評估和修改。例如,我有一個靜態變量WIDTH,目前正在更新它

Global.WIDTH = 12

或者從不同的活動中獲取int width = Global.WIDTH ,這是一個正確的方法,還是我必須使用靜態方法來獲取寬度,如int width = Global.getWidth(); 那么這兩者之間的區別是什么,最好的方法是什么,

在處理靜態變量時我們必須記住的其他重要事項是什么?

謝謝大家,很抱歉長篇大論......

靜態變量可能會導致內存泄漏,因為它們永遠不會超出范圍,但如果您只有一些原語,如int或long,那么您將不會遇到問題。

如果開始引用靜態變量中的對象,尤其是集合,則需要小心。 如果一個集合永遠不會超出范圍,那么它中包含的任何對象也都沒有,並且它們引用的任何對象也都沒有,因此集合有可能繼續增長並消耗更多內存。

你問題中的變量,可能是一個int,雖然可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM