问题: 设备双屏幕,副屏从应用返回Launcher黑屏,有SystemUI -> 异常退出问题
分析:
dumpsys window animator
观察Window是否存在 => 不存在,异常退出- 分析log,是否crash(FATAL EXCEPTION, Fatal signal) => 排除
- event log观察黑屏Activity所在task(
logcat -b events | grep -E 'wm_|am_'
) => task被remove,原因是remove-hidden-task
- 查看源码中对应逻辑 => 被当做无法返回的Task清理掉
方案:
- 通过多实例(需要多用户)实现Launcher Task隔离,避免Task被认为无法返回
- 或通过多个Launcher Activity实现