Eclipse上的Android USB调试程序在切换到浏览器意图时停止并导航一段时间。
我正在开发一个搜索/列表/详情应用 详细可以跳转到browserIntent:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(browserIntent);
然后我的应用程序在后台运行,但过了一段时间,eclipse上的调试程序断开连接& eclipse上的应用程序终止。在Eclipse上的设备视图中,我的进程消失了。
我在主LogCat上发现了这个:
04-17 10:49:51.392: I/ActivityManager(31744): Process com.lma (pid 31482) has died.
04-17 10:49:51.422: I/WindowManager(31744): WIN DEATH: Window{41635c58 com.lma/com.lma.activity.LoginActivity paused=false}
04-17 10:49:51.492: I/WindowManager(31744): WIN DEATH: Window{419acac8 com.lma/com.lma.activity.search.EventSearchActivity paused=false}
04-17 10:49:51.522: I/WindowManager(31744): WIN DEATH: Window{419b9c38 com.lma/com.lma.activity.search.EventDetailActivity paused=false}
04-17 10:49:51.772: E/Sensors(31744): sensors_poll_context_t::pollEvents, line 202: receive event #### i=2, nb=0
04-17 10:49:52.302: E/dalvikvm(19811): GC_CONCURRENT freed 2213K, 36% free 12109K/18659K, paused 9ms+5ms
当我回到手机上时,我的应用程序会详细说明,但根本不显示任何数据(导致Fragment中的私有obj变为null)。在Eclipse上的设备视图中,我的进程再次出现,但未连接到调试器。我可以看到这个日志:
04-17 10:59:37.312: I/ActivityManager(31744): Start proc com.lma for activity com.lma/.activity.search.EventDetailActivity: pid=600 uid=10081 gids={3003}
...
04-17 10:59:40.702: I/ActivityManager(31744): Displayed com.lma/.activity.search.EventDetailActivity: +3s425ms
然后,如果我再次返回列出活动,则由于NullPointerException,所有静态数据都已被破坏且应用程序崩溃。
如何在我的应用销毁之前保存一些数据? (我正在使用app.getSharedPreferences())
答案 0 :(得分:0)
最后,我通过app.getSharedPreferences()在每个活动onPause()中实现了保存数据,因为应用程序的onDestroy()事件仅适用于模拟器环境。