
一般来说,SF侧的Layer层级和WMS侧WindowContainer侧的层级是一一对应的,但是对Launcher来说,则略有不同,这点之前我在打印SF信息的时候,也有注意过,但是没有去仔细思考过为什么会这样,直到这次分析问题的时候踩了一坑,才发现有必要梳理一下这块逻辑,并做个记录。
1 问题描述
进入超级省电模式(也是一个Launcher),然后随便打开一个App,如Message,然后在Message界面上划,发现无法返回到Home。
2 问题分析
2.1 分析1
最初我分析的方向是错误的,刚拿到这个问题的时候,我复现了一下,先看上层WMS处WindowContainer的信息:

没问题,Home类型的Task已经在TaskDisplayArea的top了。
再看SF:

Message仍然是可见的。
因此我就直接认为是SF侧没有把Launcher对应的Task移动到TaskDisplayArea的top,比如Transaction.setLayer这个方法没有被调用之类的,但是继续打印log后才发现,正常情况下也没有为Home类型的Task设置layer的操作,这个分析方向是错的。


3537

被折叠的 条评论
为什么被折叠?



