2017-10-19 70 views
0

我有一個Android應用程序。當我打開應用程序時,它會加載,我可以使用它沒有問題。如果我然後儘量減少應用程序,並返回,整個應用程序重新啓動並重新加載所有內容。Android工作室總是在失去焦點後重新加載?

  1. 是否有某種我可以檢查的事情,並試圖弄清楚爲什麼會發生這種事情?
  2. 是否有一些「失去焦點後不重新加載應用程序」設置我不知道?
  3. 關於如何弄清楚爲什麼我的Android應用會這樣做的任何其他建議?

理論1

我有稱爲MyApplication的基類。這個類是我存儲應用程序的所有信息的地方。因此,用戶信息,該條款顯示等我揭露這一點使用靜態函數:

public static List<UserNotification> getUserNotifications(Context context) { 
    return userNotifications; 
} 

我的理論是,不知何故,失去焦點的時候,這個基類被破壞。也許通過垃圾收集?我不確定。這也構成了另一個問題...

  1. 如果存儲這樣的信息在我的基類是錯誤的,什麼是正確的方式來處理這個,以避免用戶每次打開應用程序時都必須重新加載所有內容?

回答

1

App life cycle

爲了不失去你的數據,你需要使用捆綁savedInstance 使用的onSaveInstanceState方法

我建議你登錄,因爲大多數的可能有什麼事情的全局視圖以及所有日誌和方法的順序