在测试期间,我遇到了一个问题,当重复按下音量减小键时,我的应用程序提示符与ANR对话框。我没有在我的活动中处理任何输入键事件。
日志 应用程序没有响应:AppWindowToken {71f775 token = Token {2123aeac ActivityRecord {332f745f u0 com.test / .uis.CallActivity t766}}}。事件发生后为5006.8ms,等待5003.3ms。原因:等待,因为没有窗口有焦点,但有一个专注的应用程序,最终可能会在启动完成后添加一个窗口。 04-06 16:54:34.885:I / WindowManager(1633):输入事件调度超时发送到应用程序AppWindowToken {71f775 token = Token {2123aeac ActivityRecord {332f745f u0
代码 final WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,PixelFormat.TRANSLUCENT); params.dimAmount = 0.0f; //昏暗程度0.0 - 没有暗淡,1.0 - 完全 //不透明 。getWindow()setAttributes(PARAMS);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
答案 0 :(得分:0)
在此日志出现前5秒检查日志中发生了什么
ActivityRecord {332f745f u0 com.test / .uis.CallActivity t766}}}。它有 事件发生后为5006.8ms,等待开始后为5003.3ms。原因: 等待,因为没有窗口有焦点,但有一个专注的应用程序 最终可能会在完成启动时添加一个窗口
特别检查输入事件(来自InputDispatcher或InputReader的日志)。这可能会给人一种线索。有时,如果您的系统负载很重(RAM空间)并且您正在以高速率发送事件,则会发生这种情况。
我还建议你做以下事情:
- 您可以通过将任何其他应用程序保留在前台来尝试相同的操作。
- 如果您没有检查任何其他设备,请尝试检查其他设备。(只是为了确保这是您的应用 问题)。
醇>
由于