[英]What happens to data when onPause is called on Activity
我在應用上運行了一項活動,當用戶點擊搜索圖標時,另一項活動(Google地圖)會打開。 所以我假設第一個活動onPause被調用,當Maps活動完成時,第一個Activity onResume被調用。
所以我的問題是,在調用Maps活動之前,用戶輸入並分配給第一個活動中的變量的所有數據會發生什么變化?
當您啟動其他活動時,Android會為視圖存儲用戶數據。
將執行onSaveInstanceState
方法並存儲數據。
被調用以在被殺死之前從活動中檢索每個實例狀態,以便可以在onCreate(Bundle)或onRestoreInstanceState(Bundle)中恢復狀態(由此方法填充的Bundle將被傳遞給兩者)。
你可以在這里查看更多信息。
如果要保留變量,可以覆蓋onSaveInstanceState
static final String STATE_SCORE = "playerScore";
...
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save the user's current game state
savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
super.onSaveInstanceState(savedInstanceState);
}
並讓他們回來,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
// Restore value of members from saved state
mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
}
...
}
不,不是全部。 用戶輸入的數據仍然存在,但您必須保存變量
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); }
並讓他們回來
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
這取決於你的靠背沒有清理的情況。 請閱讀,並有一些解釋 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.