活动死亡重新启动进程

发布于 2024-10-06 06:58:18 字数 247 浏览 7 评论 0原文

我有一组活动,从主屏幕开始,经过一些列表活动,一直到最终屏幕。 当我出于某种原因出现异常时,我会收到“抱歉......yada yada yada,必须关闭”对话框,并且活动和进程都被关闭,我希望它保持这种状态,但进程本身会变得如此使用与崩溃之前的活动相同的活动堆栈重新启动。 这是一个非常有用的功能,但是因为我还没有 Bundle saving 来保存 onDestroy 中的数据,一个活动崩溃并重新启动将导致雪崩...... 有没有办法禁用该功能?更改启动模式应该有帮助吗?

I have a set of activities starting from my home screen through a few list activities to my final screen.
When i have an exception for whatever reason i get the "Sorry....yada yada yada, must be closed" dialog and the activity along with the process get shut down, i would expect it to stay that way however the process itself get's relaunched with the same activity stack up to the activity before the one that crashed.
It's a very useful feature however since i don't have Bundle savings yet to save my data in onDestroy one activity crash and relaunch will cause an avalanche...
Is there a way to disable that feature ? change the launch mode should help here ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷→糖丶微凉 2024-10-13 06:58:18

当应用程序崩溃时,所有静态变量都会被清除。
您可以编写一个基本活动类来始终检查(在 onCreate 中)应用程序的状态是否有效(静态不为空)。如果无效(空),则通过启动带有 FLAG_ACTIVITY_CLEAR_TOP 标志的第一个 Activity 来重新启动应用程序。

请参阅 这个答案

When an app is crashed, all static variables are cleaned.
You can write a base activity class to always check (in onCreate) if the state of the app is valid (static not null). If not valid (null), restart the app by launching the first activity with the flag FLAG_ACTIVITY_CLEAR_TOP.

See similar suggestion in the first point in this answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文