在Activity里的各個生命周期里打上Log方法忱叭。
調用
startActivity(getIntent());
finish();
方法后,打印出來的生命周期:
調用
recreate();
方法后塌计,打印出來的生命周期:
可以看到recreate()方法比startActivity(getIntent())多調用了一個onRestoreInstanceState方法,這個onRestoreInstanceState方法就是Activity用來自動保存狀態(tài)的方法侯谁,主要是保存View的狀態(tài)锌仅。大致是遍歷View樹,并調用每個View的SaveInstance方法墙贱。
所以如果要保存當前的View狀態(tài)热芹,就使用recreate()方法。
如果想完全重啟Activity惨撇,就調用startActivity(getIntent())方法伊脓。