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