横屏输入密码时等待屏灭按power键点亮后字符消失

来源:互联网 发布:流体 热能 仿真软件 编辑:程序博客网 时间:2024/05/22 14:46

横屏输入密码时等待屏灭按power键点亮后字符消失

[DESCRIPTION]

选择Settings-> Security-> Screen lock ->none -> 编辑短信,输入几个字符"abcd" - > 然后将机器横屏 -> power 灭屏 -> 然后power 亮屏 -> 发现输入字符消失

[SOLUTION]

该问题是在Android对IME Framework设计上的一个Bug,工作流程如下:
1. IME键盘每次全屏弹出来的时候,都会通过一个Binder(IPC通信)尝试从AP那里获取当前文本框
内的文字;
2. IME Framework会在灭屏的时候来关闭该IME通向Ap 的Binder,防止IME在灭屏的时候操作Ap的文
本框内容;
3. 以上流程的设计带来了该bug,当无锁屏的时候,屏幕一点亮,IME键盘就会update自己文本框里
的内容,
通过通向Ap的Binder获取文本内容,但是,该Binder在上次灭屏的时候被关闭了,所以IME没能拿到
任何内容,显示空白;
如果要解这个bug,就需要破坏以上流程中的某个环节,让IME在点亮屏后能正常获取到Ap的内容
;但是这样的破坏会使之后IME Framework难以维护/升级,而且之后如果Anroid有新增feature的话
,会有未知bug的风险;
幸好的是,该bug对用户的影响并不大:用户难碰到(用户要把锁屏关掉,转到横屏,再进入恰好
IME全屏的Editor界面,再做关/亮屏动作才会喷到),很容易恢复正常(发生bug的时候,用户只需要
把IME收起来,再让IME键盘弹出来就正常了,以上操作IME Framework会重新创建IME 跟Ap之间的
IPC连接),所以我们内部不建议修正该bug。


0 0
原创粉丝点击