[ Android ] 關於Activity生命週期的一些小細節
有時候用IDE觀察模擬器或者實體裝置時
在Activity出現時會跑出下列錯誤
java.lang.RuntimeException: Performing stop of activity that is not resumed:
上網查了一下才大概理解這個錯誤的緣由
[ Update ] 網誌事後更新
事情果然沒有憨人想得這麼簡單 OTZ
====================================================
先前的專案也好或者一些試做的Demo也好
原本想說APP能夠順利執行就好
但最近發現一個小問題
java.lang.RuntimeException: Performing stop of activity that is not resumed:
跑出這個錯誤雖然可以執行,但感覺錯誤就是不對...
( 我忘記是錯誤還是警告了 XD )
稍微找了一下關鍵字
大概可以理解這是Activity生命週期所產生的影響
例如我在MainActivity的onCreat中直接塞入跳轉Activity的程式碼
例如
--------------------------------------------------------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setOnClick();
changeActivity(); // <<<<< 重點是這個
}
--------------------------------------------------------------------------------
由於Activity本身的生命週期還沒備妥或跑完
就碰上這段程式碼強迫MainActivity中止目前的生命週期跳至指定的畫面
於是系統就浮出開頭的錯誤訊息
由於目前相關的資料我只是大概看過
要再找時間仔細翻一下
如果有錯誤的地方歡迎糾正
參考資料:
https://stackoverflow.com/questions/26375920/android-performing-stop-of-activity-that-is-not-resumed
https://stackoverflow.com/questions/33626151/java-lang-runtimeexception-performing-stop-of-activity-that-is-not-resumed-in-a/33705835
訂閱:
張貼留言 (Atom)
Layout疑難雜症筆記
這裡記錄一些Layout時View元件比較特殊的狀況與處理方式,內容會陸續增加。
-
notifyDataSetChanged() 是告知 Adapter 刷新 ListView 的方法 但是並非單純在程式碼當中加上去就會有效果
-
以下是對實例變數、實例函數、類別變數與類別函數做的一點筆記
-
以前做九九乘法表都是用for迴圈來達成 這次要示範如何使用for迴圈、while迴圈與do while迴圈印出九九乘法表
沒有留言:
張貼留言