android重新加载程序,从被杀死的Android应用程序中恢复
發(fā)生了什么:
>我打開我的應(yīng)用程序,然后按主頁按鈕離開它片刻.
>我進入設(shè)置>應(yīng)用程序>管理應(yīng)用程序>運行,在緩存的后臺應(yīng)用程序列表中找到我的應(yīng)用程序,然后停止它.
>然后我按住主頁按鈕并在最近的應(yīng)用程序列表中選擇我的應(yīng)用程序,然后再次運行它.
[注意:這些步驟只是我強迫測試人員看到的相同癥狀的方式 – 他們只是正常進出應(yīng)用程序,而不是強迫它關(guān)閉.
它在我離開它的活動中打開,但處于不良狀態(tài).第一個問題是持有用戶信息的內(nèi)存消失了(如果應(yīng)用程序被殺死則有意義).我通過使User類可序列化并將當前用戶對象存儲在onSaveInstanceState中,然后將其加載回onCreate來解決這個問題.同樣,我不得不重新創(chuàng)建ClientConnectionManager以使網(wǎng)絡(luò)再次工作.
“重新加載”活動運行得很好,我可以導航到并使用新創(chuàng)建的活動,但如果我按下后退按鈕返回到我強行停止應(yīng)用程序之前創(chuàng)建的活動,我會得到一個例外,說明用戶類不存在(ClassNotFoundException,顯然在執(zhí)行unparcel時).
為什么會這樣?應(yīng)用程序被殺死時處理案例的正確方法是什么,但仍然知道在重新打開時要返回哪個活動?應(yīng)用程序未運行但未完全關(guān)閉的狀態(tài)名稱是什么?
解決方法:
>您可以指定哪些活動將顯示在“最近的應(yīng)用”上,并確保僅包含主要活動或任何其他“安全”活動(android:excludeFromRecents)
>您可以通過在啟動意圖中查找FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY來識別“從歷史發(fā)起”案例
標簽:android
來源: https://codeday.me/bug/20190723/1512962.html
總結(jié)
以上是生活随笔為你收集整理的android重新加载程序,从被杀死的Android应用程序中恢复的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 具有趣味性的c语言项目,一个有趣的小程序
- 下一篇: android 添加子view,Andr