这是一段从有些切回桌面的log,找出窗口切换的log
时间: 2024-11-15 21:29:38 浏览: 20
在提供的日志中,与窗口切换相关的部分主要集中在 `WindowManager` 的错误和异常处理上。以下是相关的关键日志条目:
### 关键日志条目
1. **窗口管理器错误**
```plaintext
11-01 15:47:52.953 2393 2408 E WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:895)
11-01 15:47:52.953 2393 2408 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:200)
11-01 15:47:52.953 2393 2408 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:149)
11-01 15:47:52.953 2393 2408 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:138)
11-01 15:47:52.953 2393 2408 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.continueLayout(WindowSurfacePlacer.java:120)
```
2. **未处理的异常**
```plaintext
11-01 15:47:53.011 2393 4550 E WindowManager: Unhandled exception while laying out windows
11-01 15:47:53.011 2393 4550 E WindowManager: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
11-01 15:47:53.011 2393 4550 E WindowManager: at java.lang.String.contains(String.java:2722)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.BLASTSyncEngine$SyncGroup.tryFinish(BLASTSyncEngine.java:224)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.BLASTSyncEngine$SyncGroup.-$$Nest$mtryFinish(Unknown Source:0)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.BLASTSyncEngine.onSurfacePlacement(BLASTSyncEngine.java:634)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:950)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:895)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:200)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:149)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.WindowManagerService.relayoutWindowInner(WindowManagerService.java:2987)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.WindowManagerService.relayoutWindow(WindowManagerService.java:2694)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.Session.relayout(Session.java:303)
11-01 15:47:53.011 2393 4550 E WindowManager: at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:801)
11-01 15:47:53.011 2393 4550 E WindowManager: at com.android.server.wm.Session.onTransact(Session.java:217)
11-01 15:47:53.011 2393 4550 E WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1512)
11-01 15:47:53.011 2393 4550 E WindowManager: at android.os.Binder.execTransact(Binder.java:1451)
```
3. **重复的错误**
```plaintext
11-01 15:47:53.107 2393 2430 E WindowManager: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
11-01 15:47:53.107 2393 2430 E WindowManager: at java.lang.String.contains(String.java:2722)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.BLASTSyncEngine$SyncGroup.tryFinish(BLASTSyncEngine.java:224)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.BLASTSyncEngine$SyncGroup.-$$Nest$mtryFinish(Unknown Source:0)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.BLASTSyncEngine.onSurfacePlacement(BLASTSyncEngine.java:634)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:950)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:895)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:200)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:149)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:138)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:80)
11-01 15:47:53.107 2393 2430 E WindowManager: at android.os.Handler.handleCallback(Handler.java:959)
11-01 15:47:53.107 2393 2430 E WindowManager: at android.os.Handler.dispatchMessage(Handler.java:100)
11-01 15:47:53.107 2393 2430 E WindowManager: at android.os.Looper.loopOnce(Looper.java:249)
11-01 15:47:53.107 2393 2430 E WindowManager: at android.os.Looper.loop(Looper.java:337)
11-01 15:47:53.107 2393 2430 E WindowManager: at android.os.HandlerThread.run(HandlerThread.java:85)
11-01 15:47:53.107 2393 2430 E WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:46)
```
这些日志显示了窗口管理器在尝试进行表面放置(surface placement)时遇到了 `NullPointerException` 异常,导致未能正确处理窗口布局。这可能是由于某些对象引用为空,导致方法调用失败。
阅读全文