应用在后台驻留内存被其他应用抢占内存后,用户点击应用后恢复到前台,Activity栈有没有被保存恢复,生命周期是否正常?

发布于 2022-09-01 21:42:32 字数 208 浏览 21 评论 0

描述状况如题目所说,问题是:
1.activity 之间的先后状态有没有被保存恢复,换句话说不停点击返回键后之前的activity顺序是否正常?

2.点击返回键后触发的上个activity 的生命周期是什么,和正常的跳转返回有什么区别?

3.能否判断是否重要状态是否丢失?这个状态是否是保存在硬盘上的永远不会丢失的?如果不能保证然后如何实现整个应用的整体重新启动?

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

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

发布评论

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

评论(1

-残月青衣踏尘吟 2022-09-08 21:42:32
  1. 楼主先学习下启动模式launchMode,四种。第一个问题就解决了。launchMode

  2. 1> onRestart() --> onStart() --> onResume()
    2> 根据Activity的launchMode,和Intent.setFlag的不同,情况不同。setFlag

  3. 你是想问如何判断自身App是否被Kill掉?

ActivityManager am = (ActivityManager) ct.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningTaskInfo> infos = am.getRunningTasks(100);

        for (int i = 0; i < infos.size(); i++) {
            RunningTaskInfo info = infos.get(i);
            if (info.baseActivity.getPackageName().equals(ct.getPackageName())) {
                if (info.numActivities != info.numRunning)
                    return true;
            }
        }

        return false;
若程序被Kill掉,点多任务选择App,依旧启动清单文件中Search配置意图过滤<action android:name="android.intent.action.MAIN" />的Activity。

常见提升自身App内存中优先级,尽量避免被Kill的内容我就不回复了,流氓做法自己找,不传播
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文