我有一個非常無聊的問題。當我的應用程序切換到後臺,有時進程被殺死的logcat中顯示:Android生命週期 - ActivityManager殺死進程 - >從後臺返回異常
INFO/ActivityManager(187): Low Memory: No more background processes.
INFO/ActivityManager(187): Process com.app.myapp (pid 20681) has died.
INFO/WindowManager(187): WIN DEATH: Window{40592708 com.app.myapp/app.myapp.dashboard.Dashboard paused=false}
ERROR/InputDispatcher(187): channel '408b1d40 app.myapp/app.myapp.menus.products.Promotions (server)' ~ Consumer closed input channel or an error occurred. events=0x8
ERROR/InputDispatcher(187): channel '408b1d40 app.myapp/app.myapp.menus.products.Promotions (server)' ~ Channel is unrecoverably broken and will be disposed!
INFO/WindowManager(187): WIN DEATH: Window{408b1d40 app.myapp/app.myapp.menus.products.Promotions paused=false}
INFO/ActivityManager(187): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10100000 cmp=app.myapp/.Main } from pid 187
INFO/ActivityManager(187): Start proc app.myapp for activity app.myapp/.menus.products.Promotions: pid=20721 uid=10062 gids={3003, 1015}
當我再嘗試返回到應用程序,通過任務切換(長按HOME)它試圖返回到最後打開活動......和崩潰。
爲什麼它從頭開始打開整個應用程序關閉時的Main?
ERROR/InputDispatcher erros並不總是顯示。
UPDATE:
問題是...應用程序恢復,但已下載(作爲一個HashMap)在它的對象是不是......所以,當我訪問他們。我有「問題」 ......
更新2:
我管理由verifing上的onCreate上BaseActivity(由隔日延長)如果應用程序中包含的數據來解決問題我需要或者它是空的(在這種情況下,它重新啓動應用程序)。
是否有一個更優雅的解決方案,或者至少有一種方式說,設備如果應用程序被殺害,我希望應用程序被重新啓動?
此鏈接有助於理解這個問題......並且知道有如何將數據從應用商店沒有明確的答案:How to declare global variables in Android?
更新3:
於是我問了一個問題的具體如何正確保存應用程序數據。這可能會幫助那些有同樣問題的人:Android: Best way to save data stored in Application Singleton Class
http://stackoverflow.com/questions/6025554/android-application-loses-state-after-launching-another-intent/6025590#6025590 – superfell 2011-05-18 15:39:51
該鏈接ALMOST回答我的問題..問題是我有數據存儲在應用程序類..當應用程序類恢復不是。 – neteinstein 2011-05-18 16:05:00
這也是有用的,但它並沒有考慮使用什麼方法:http://stackoverflow.com/questions/708012/android-how-to-declare-global-variables – neteinstein 2011-05-19 18:44:22