2013-05-05 62 views
2

我在我的應用程序中有許多全局最終常量。我在應用程序啓動過程中從json文件填充這些常量。正如許多人所建議的那樣,我使用應用程序類來將全局變量保存在內存中。但有時,在關閉應用程序並與其他應用程序一起玩並返回到我的應用程序後,它會崩潰。我知道這是因爲系統殺死了進程,所以這些靜態變量從內存中丟失。推薦的解決方案是使用sharedpreferences或其他持久性存儲方法來存儲這些全局變量。但我需要一個快速而簡單的解決方案來「解決」這個問題。例如,如果系統殺死進程(而應用程序在後臺運行時)並且用戶稍後又回到應用程序,那麼強制重新啓動應用程序的最簡單方法是什麼?我希望我的問題很清楚。當全局靜態變量被終止時重新啓動應用程序android

在此先感謝

湯姆

回答

0

一旦程序被暫停(對用戶不可見),由規範 Android系統可以簡單地殺死你的應用程序駐留在沒有任何額外的回調過程,所以你所要做的就是打擊系統行爲。

如果您將這些變量保留在您的Application類中,那麼您可以在加載Application類時簡單地重新加載這些變量。

1
  1. 至於凱建議,即:

    public class MyApplication extends Application { 
    
        @Override 
        public void onCreate(){ 
         super.onCreate(); 
         initVariables(); 
        } 
    } 
    
  2. 或者使用存取:

    public class MyApplication extends Application { 
    
        MyVar var; 
        public MyVar getVar(){ 
         if(var == null){ 
          initVariables(); 
         } 
         return var; 
        } 
    

    }

相關問題