美文网首页
华为鸿蒙系统 or EMUI10以上系统(包括10),冷启动一个

华为鸿蒙系统 or EMUI10以上系统(包括10),冷启动一个

作者: 小院里栽棵树 | 来源:发表于2021-09-23 19:12 被阅读0次

    记录一个任务栈的问题~

    问题描述:
    app有2个任务栈。 任务栈1 中有页面 AActivity ,BActivity ,CActivity ,任务栈2中有DActivity,EActivity 。

    app的页面由A -> B -> C -> D -> E这样依次跳转。

    在D页面时,我们把app置于后台,然后冷启动一个其他的app,又或者是接电话场景,在通话结束后,我们再次打开我们的app,会发现app处于C页面,而D和E页面已经被finish了。

    额... 这问题很操蛋,最开始我以为是系统内存不足,app被回收,然后在温启动时,系统只能恢复主任务栈 。 但后面发现,系统压根就没回收app ~

    排查后发现是因为我在清单文件中设置了excludeFromRecents 属性,原因当然是产品希望第二个任务栈不在最近任务列表中展示, 但在EMUI10及以上 & 鸿蒙系统上 ,华为做了个比较无语的优化~ 那就是当华为手机 冷启动一个app时,它会去清空所有的隐藏任务栈。mf ,这是个什么优化!!结果自然而然的就是导致了我们D E页面被finish了,用户下次打开app时,就回到了C页面,因为涉及到华为系统级的优化,目前我也是没什么解决办法,只能先干掉了excludeFromRecents 属性。

    相关文章

      网友评论

          本文标题:华为鸿蒙系统 or EMUI10以上系统(包括10),冷启动一个

          本文链接:https://www.haomeiwen.com/subject/twfvwltx.html