1、之前版本都有这个问题
2、霍尔开关添加之前就有这个问题
3、有时不明显,有时明显
4、从launcher进入锁屏时较明显,从应用进去不明显
5、当launcher的getWindow设置的背景不为null时,情况好很多
6、刚开机或刚push好launcher时情况较好
7、当情况较好时,如果多次出入应用程序界面,则情况开始变坏
8、即使通知霍尔开关的一开始就发送消息给launcher让其检查并修复getWindow设置的背景,仍会发生黑屏现象。
9、此现象预计和launcher和policy有关,前者依存度高,后者是执行者
10、launcher并没有响应Lid开关。
11、launcher 本身是没有背景的
12、锁屏声音的开关有时会有影响
13、MTK原本就认为时间差不可避免,其借用了freeze screen隐藏了黑屏。
14、目前为止,尚不能确定黑屏的原因
15、黑屏的开始是从 KeyguardViewManager 方法 show()中的
mKeyguardHost.setVisibility(View.VISIBLE);
发生之后。该方法的执行线程是PhoneWindowPolicy线程。
16、刚开机或者刚push新的launcher进去时,情况较好,长期使用尤其进入应用程序返回后,情况变坏
17、把 LauncherPlus/res/values/config.xml 中的config_allAppsFadeOutTime从200改为0,依然没有效果
18、如果mKeyguardHost.setVisibility(View.VISIBLE)注释掉,则不会黑屏、锁屏,如果不注释,则该动作的log发生在锁屏、黑屏之后。
19、如果先发送closeSystemDialogs,然后show,并且在launcher接受到closeSystemDialogs的intent后立即onPause,则黑屏仍然存在,且看起来似乎
更加明显。
20、如果在KeyguardViewMediator的handleShow方法中不进行ActivityManagerNative.getDefault().closeSystemDialogs("lock"),则:情况仍然存在。
======================================================
现象:
翻盖,先长黑,然后上锁,然后过一段时间得到下面log(短黑情况一样)
01-01 13:48:12.468: I/Launcher.CloseSystemDialogsIntentReceiver(1963): onReceive
01-01 13:48:12.469: I/LauncherPlus.Launcher(1963): closeSystemDialogs
01-01 13:48:13.358: I/BubbleTextView(1963): drawableStateChanged
01-01 13:48:13.361: I/BubbleTextView(1963): drawableStateChanged
01-01 13:48:13.378: I/BubbleTextView(1963): drawableStateChanged
01-01 13:48:13.382: I/BubbleTextView(1963): drawableStateChanged
01-01 13:48:13.880: D/dalvikvm(1963): GC_CONCURRENT freed 1059K, 53% free 3367K/7111K, external 3111K/4304K, paused 3ms+24ms
01-01 13:48:16.874: D/dalvikvm(1963): GC_CONCURRENT freed 1201K, 53% free 3386K/7111K, external 3111K/4304K, paused 3ms+10ms
合盖,log:
01-01 13:52:57.216: I/BubbleTextView(1963): drawableStateChanged
01-01 13:52:57.245: I/BubbleTextView(1963): drawableStateChanged
01-01 13:52:57.248: I/BubbleTextView(1963): drawableStateChanged
01-01 13:52:57.251: I/BubbleTextView(1963): drawableStateChanged
01-01 13:52:58.407: D/dalvikvm(1963): GC_CONCURRENT freed 1054K, 54% free 3298K/7111K, external 3111K/4304K, paused 5ms+11ms
在应用程序界面,只有翻盖才有log,且几乎是在上锁瞬间得到:
01-01 13:57:40.520: I/Launcher.CloseSystemDialogsIntentReceiver(1963): onReceive
01-01 13:57:40.529: I/LauncherPlus.Launcher(1963): closeSystemDialogs
注:
1、以上launcher的log紧接着policy中的keyguardViewManager中的show方法的最后一行。几乎没有延迟
=======================================================
如果在keyguardViewManager中的show方法的最后一行之前开始定时检测当前activity(每100ms检测一次):
1、如果是launcher界面开始的,则当前activity一直是launcher,包括黑屏、锁屏以后
2、如果应用程序开始的,则当前activity一直是应用程序
锁屏黑屏现象总结
最新推荐文章于 2018-08-14 14:52:58 发布
本文详细总结了手机出现锁屏黑屏问题的各种现象,包括不同场景下的表现和影响因素。从launcher的getWindow设置、系统对话框关闭、线程行为等方面进行了深入探讨,但目前尚未找到根本原因。日志分析显示,问题可能与launcher和policy的交互有关,特别是KeyguardViewManager的show方法。实验表明,改变相关设置和监测activity状态并未能完全消除问题。
1万+

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



