[ 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









沒有留言:

張貼留言

Layout疑難雜症筆記

 這裡記錄一些Layout時View元件比較特殊的狀況與處理方式,內容會陸續增加。