1.在activity中有一个onSaveInstanceState()的方法,该方法在activity因为系统内存不足,被意外销毁时调用.
@Override public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { outState.putString("key","value"); //可以在这里进行数据和状态的保存 super.onSaveInstanceState(outState, outPersistentState); }
2.在activity因为内存不足被销毁,又重新启动时,系统会调用onRestoreInstanceState()方法,其中bundle参数为我们保存的数据,和oncreate()方法参数一样. @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { savedInstanceState.getString("key"); //可以在这里拿出数据和状态 super.onRestoreInstanceState(savedInstanceState);}
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }