android - Android:调用完成有时会关闭整个应用程序
问题描述
我有这种奇怪的行为。我的应用程序有几个活动,用户可以在这些活动之间来回导航。该应用程序从一个启动屏幕开始,几秒钟后您就可以进入主要活动。然后从堆栈中删除启动画面。
如果用户按下“设置”按钮,则会启动一个新活动。当用户从设置活动(或任何其他活动并希望返回主活动)导航回来时,应用程序会不时关闭。目录中没有任何例外(是的,我删除了过滤器以显示整个系统的所有行)。这发生在具有不同 Android 版本的多个不同设备上,但并非总是如此。找不到图案,
有时它会在最后几个小时按预期工作,然后会连续发生 2-3 次。
我正在使用屏幕底部的按钮返回导航,在点击事件上我只需调用“finish()”所有活动都使用“startActivity( intent )”启动。
当我根本无法得到任何异常或警告时,我不知道如何继续寻找原因。有人知道发生了什么或如何继续我的调查吗?
解决方案
有时它会在最后几个小时按预期工作,然后会连续发生 2-3 次。
Android 活动是非常不可预测的实体。你看,操作系统可以自行决定在后台销毁活动(例如,缺乏资源)。所以当你离开你的活动时,你不能确定它会活着,当你回来的时候。处理这个问题的方法很少。
我可以建议你目前的:
- 直接返回上一个活动(在当前活动完成后打开它)
- (建议/最佳选择) -不要经常使用活动!请为您的标签屏幕使用片段。您的应用程序中应该只有 1-3 个活动和 N 个片段。相信我,使用 Fragment 更容易、更高效且更安全。当然,Google 建议使用 Fragments 而不是 Activities。
Ps - 阅读此https://medium.com/mobile-app-development-publication/activities-or-fragments-a-little-sharing-c1ddc1041f79 它将帮助您完全理解我的答案。
推荐阅读
- c# - 正则表达式问题。它没有找到所需的字符串部分
- python - 使用 python 正则表达式捕获相似的字符串
- kubernetes - pod 有未绑定的即时 PersistentVolumeClaims kubernetes nfs 卷
- microsoft-graph-api - Microsoft GraphMail 消息 - 我如何判断它是发送还是接收?
- image - 如何在 Facebook 上显示 OpenGraph 网站图像而无需在 URL 中键入 WWW
- json - 解析包含复杂结构的字符串
- java - Retrofit2+RxJava 在 OnNext() 中返回 null 给 Model 类
- ionic3 - 错误:未捕获(承诺中):错误:StaticInjectorError(AppModule)[HomePage -> InAppBrowser]:
- django - 将 pyrebase 与 Django 一起使用时出现错误配置错误
- c - c中的数组衰减是什么以及它何时发生?