我想知道一些基本的東西如何有效地使用靜態變量?
我正在開發一個android應用程序,因此它導致我的內存管理問題。 最近觀看了一個與谷歌內存管理相關的視頻我發現,在活動中使用靜態變量會導致內存泄漏,即使在活動方向發生變化時也會導致內存泄漏,因爲它會保持對活動中的其他對象的引用,視頻中的該男子說,使用靜態的在靜態方法的幫助下變量將解決問題,我想知道靜態方法將如何解決問題?
我想知道的最好的方式來使用靜態變量在我的應用程序,比如我有一個全球性的類中,我將一些靜態變量正如其名稱所示,這些值將進行評估,並通過不同的活動, 作爲修改一個例子,我有一個靜態變量WIDTH和當前更新它像這樣
Global.WIDTH = 12
或得到它像int width = Global.WIDTH
從不同activites,就是這是一個正確的方法,還是我必須使用靜態方法得到像int width = Global.getWidth();
寬度,那麼什麼是這兩個之間的區別,什麼是做到這一點的最好辦法,
什麼是我們必須要記住與靜態變量打交道時,其他重要的事情?
感謝大家在百忙之中長描述...
當字段/方法必須屬於類而不是任何對象引用時,請使用'static'。如果在'Activity'中使用,我會推薦使用'static final'來聲明這個字段是一個常量,而不是在那裏有一個普通的''static'字段。 –
感謝您的快速回復..我無法將其聲明爲final,因爲它的值將根據計算基於計算而改變 –
您可以聲明它爲'static final'並在'static {}'方法中定義值。請注意,即使這些值是* dynamic *,它們也只能在應用程序啓動時加載一次,而不是在應用程序的任何時候加載。如果要爲景觀可視化設置不同的寬度和高度,請添加兩個字段而不是重新計算值。 –