1
我很難搞清楚在Android活動生命週期中從onPause和onResume傳遞簡單值的最佳方式。我知道如何使用獲取併爲活動數據添加額外的捆綁包,但這是否適用於在同一活動之間傳遞數據?我應該使用SharedPreferences嗎?在onPause和onResume之間傳輸數據的最佳方式是什麼?
我很難搞清楚在Android活動生命週期中從onPause和onResume傳遞簡單值的最佳方式。我知道如何使用獲取併爲活動數據添加額外的捆綁包,但這是否適用於在同一活動之間傳遞數據?我應該使用SharedPreferences嗎?在onPause和onResume之間傳輸數據的最佳方式是什麼?
如果您只是想存儲應用程序的暫態,請覆蓋onSaveInstanceState()
和onRestoreInstanceState()
。
這些不是生命週期方法,所以不總是調用。它們被系統使用,因此Activity
看起來像用戶如果離開並回到它,它將如何離開它。如果用戶明確終止應用程序 - 例如,按下「後退」按鈕 - 它們不會被調用,所以您不應該將它們用於編寫持久用戶數據。
如果你想to record persistent data you have several options:
使用將取決於你想要的數據的一個商店。
此外,對於屏幕旋轉的具體情況,有'onRetainNonConfigurationInstance()'和'getLastNonConfigurationInstance()'。 – CommonsWare 2010-05-30 11:16:58