首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >强制关闭不会退出android应用程序,而是在非常有buggy的状态下打开之前的活动

强制关闭不会退出android应用程序,而是在非常有buggy的状态下打开之前的活动
EN

Stack Overflow用户
提问于 2011-08-16 00:57:05
回答 2查看 1.9K关注 0票数 3

我遇到的问题是,当我运行我的android应用程序时,如果我遇到强制关闭错误,或者在调试模式下使用断点暂停应用程序,然后按“停止”,应用程序不会退出,相反,我的活动堆栈中的第一个活动是打开的,但它处于非常有but的状态。该活动是一个图书图书馆,当它在强制关闭或停止后打开时,所有用户的图书都消失了,选项菜单上的标签也消失了(尽管图标仍然在那里),并且几乎所有的操作都会导致强制关闭。

所以基本上我想知道为什么在调试模式下停止应用程序,或者进入强制关闭状态并不能关闭整个应用程序,而是在一个非常有buggy的状态下打开第一个活动。

我不能给出具体的代码,因为强制关闭只发生了一次,而且我没有得到堆栈跟踪。我意识到这是一个非常普遍的问题,我理解如果它的信息太少,我只是想看看是否有人遇到过类似的情况。

编辑:看起来好像强制关闭只是关闭当前的活动,并尝试打开堆栈上的前一个活动。然而,不知何故,我的应用程序上下文正在被破坏,所以当前面的活动打开并在应用程序上下文中查找信息时,例如用户图书馆中的书籍,那里什么都没有。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-23 01:30:21

当你遇到强制关闭时,你的应用程序的进程就会被杀死。如果您的活动堆栈在崩溃的活动之后有一个活动,那么它将在一个新的进程中重新启动。当进程终止时,应用程序上下文也会终止。新流程创建了一个新的应用程序上下文,这就是为什么您在其中看不到数据的原因。

有关这方面的讨论,请参阅http://groups.google.com/group/android-developers/browse_thread/thread/b274cfa64b17f535?pli=1

解决特定问题的一种方法是在Application对象中添加一个标志,在加载共享数据后将其显式设置为true。然后,您可以在活动的onCreate()中检查此标志,以确认数据可用。如果该标志为false,则可以调用finish()

票数 2
EN

Stack Overflow用户

发布于 2011-08-16 01:05:37

这在我身上已经发生过几次了。我注意到,当我有一堆活动时,我在没有关闭第一个活动的情况下启动了第二个活动,那么在第二个活动上的“强制关闭”只会停止第二个活动。由于第一个活动仍在运行,因此它走到了前列。

举例说明。活动A正在运行。点击按钮打开活动B (我没有完成()活动A)活动B由于某种原因“强制关闭”。活动A进入视线,因为它仍在运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7067994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档