我有一个非常无聊的问题。当我的应用程序切换到后台,有时进程被杀死的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