首页 > 解决方案 > Android:调用完成有时会关闭整个应用程序

问题描述

我有这种奇怪的行为。我的应用程序有几个活动,用户可以在这些活动之间来回导航。该应用程序从一个启动屏幕开始,几秒钟后您就可以进入主要活动。然后从堆栈中删除启动画面。

如果用户按下“设置”按钮,则会启动一个新活动。当用户从设置活动(或任何其他活动并希望返回主活动)导航回来时,应用程序会不时关闭。目录中没有任何例外(是的,我删除了过滤器以显示整个系统的所有行)。这发生在具有不同 Android 版本的多个不同设备上,但并非总是如此。找不到图案,

有时它会在最后几个小时按预期工作,然后会连续发生 2-3 次。

我正在使用屏幕底部的按钮返回导航,在点击事件上我只需调用“finish()”所有活动都使用“startActivity( intent )”启动。

当我根本无法得到任何异常或警告时,我不知道如何继续寻找原因。有人知道发生了什么或如何继续我的调查吗?

标签: androidandroid-activityapplication-shutdown

解决方案


有时它会在最后几个小时按预期工作,然后会连续发生 2-3 次。

Android 活动是非常不可预测的实体。你看,操作系统可以自行决定在后台销毁活动(例如,缺乏资源)。所以当你离开你的活动时,你不能确定它会活着,当你回来的时候。处理这个问题的方法很少。

我可以建议你目前的:

  1. 直接返回上一个活动(在当前活动完成后打开它)
  2. (建议/最佳选择) -不要经常使用活动!请为您的标签屏幕使用片段。您的应用程序中应该只有 1-3 个活动和 N 个片段。相信我,使用 Fragment 更容易、更高效且更安全。当然,Google 建议使用 Fragments 而不是 Activities。

Ps - 阅读此https://medium.com/mobile-app-development-publication/activities-or-fragments-a-little-sharing-c1ddc1041f79 它将帮助您完全理解我的答案。


推荐阅读