天天看點

activity被回收的狀态和資訊儲存和恢複過程

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (savedInstanceState != null) { //判斷是否有以前的儲存狀态資訊
            savedInstanceState.get("Key");
        }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        //可能被回收記憶體前儲存狀态和資訊,
        Bundle data = new Bundle();
        data.putString("key", "last words before be kill");
        outState.putAll(data);
        super.onSaveInstanceState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        if (savedInstanceState != null) { //判斷是否有以前的儲存狀态資訊
            savedInstanceState.get("Key");
        }
        super.onRestoreInstanceState(savedInstanceState);
    }
}