Android 12 Starting window的添加与移除

添加:

04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.StartingSurfaceController.createSplashScreenStartingSurface(StartingSurfaceController.java:87)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.SplashScreenStartingData.createStartingSurface(SplashScreenStartingData.java:49)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityRecord$AddStartingWindow.run(ActivityRecord.java:2847)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityRecord.scheduleAddStartingWindow(ActivityRecord.java:2820)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityRecord.addStartingWindow(ActivityRecord.java:2799)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityRecord.showStartingWindow(ActivityRecord.java:7997)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityRecord.showStartingWindow(ActivityRecord.java:7957)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.StartingSurfaceController.showStartingWindow(StartingSurfaceController.java:201)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.Task.startActivityLocked(Task.java:5873)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityStarter.startActivityInner(ActivityStarter.java:2156)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityStarter.startActivityUnchecked(ActivityStarter.java:1840)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1383)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:786)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1365)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1328)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1303)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1174)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.ActivityTaskManagerService.onTransact(ActivityTaskManagerService.java:5560)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at android.os.Binder.execTransactInternal(Binder.java:1290)
04-13 16:29:55.931 2944 7259 D jinyanmeistart: at android.os.Binder.execTransact(Binder.java:1249)





04-13 16:29:55.932 5000 5835 D jinyanmeistart: ITaskOrganizer addStartingWindow :
04-13 16:29:55.932 5000 5835 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:55.932 5000 5835 D jinyanmeistart: at android.window.TaskOrganizer$1.addStartingWindow(TaskOrganizer.java:287)
04-13 16:29:55.932 5000 5835 D jinyanmeistart: at android.window.ITaskOrganizer$Stub.onTransact(ITaskOrganizer.java:211)
04-13 16:29:55.932 5000 5835 D jinyanmeistart: at android.os.Binder.execTransactInternal(Binder.java:1290)
04-13 16:29:55.932 5000 5835 D jinyanmeistart: at android.os.Binder.execTransact(Binder.java:1249)
04-13 16:29:55.952 2944 3701 D jinyanmeistart: getFinishedCallback 11111111:com.android.server.wm.WindowContainer$$ExternalSyntheticLambda4@ebc3815

 

调用到shell 的system _ui 进程:

其中调用到StartingSurfaceDrawer.addSplashScreenStartingWindow

函数初计算了startingwindow的各种屏幕参数params,

mAttrs.type = TYPE_APPLICATION_STARTING

然后根据参数addWindow。

addView

然后调用到系统的WindwmanagerService的addView,执行添加窗口的流程

移除:

 

在刷新的过程中,遍历窗口属性时,如果当topactivity的Surface drawState为drawState == HAS_DRAWN || drawState == READY_TO_SHOW) 移除starting window

04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl.createSyncIfNeeded(ViewRootImpl.java:3938)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3886)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2608)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9623)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1491)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1499)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.Choreographer.doCallbacks(Choreographer.java:1114)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.Choreographer.doFrame(Choreographer.java:1031)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1467)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at android.app.ActivityThread.main(ActivityThread.java:8352)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at java.lang.reflect.Method.invoke(Native Method)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
04-13 20:51:34.272 10792 10792 D jinyanmeistart: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)



04-13 20:51:34.273 10792 10792 D jinyanmeistart: finishDrawing mWindow:android.view.ViewRootImpl$W@b52582a
04-13 20:51:34.273 10792 10792 D jinyanmeistart: java.lang.RuntimeException: reportDrawFinished
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl.reportDrawFinished(ViewRootImpl.java:4614)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl(ViewRootImpl.java:3945)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.view.ViewRootImpl$$ExternalSyntheticLambda1.run(Unknown Source:6)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at android.app.ActivityThread.main(ActivityThread.java:8352)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at java.lang.reflect.Method.invoke(Native Method)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
04-13 20:51:34.273 10792 10792 D jinyanmeistart: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)





04-13 20:51:34.276 2901 2955 D jinyanmeistar: requestTraversal:com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop:205 com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement:148 com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement:137
04-13 20:51:34.276 2901 2955 D jinyanmeistar: java.lang.RuntimeException: jinyanmeistart
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.wm.WindowSurfacePlacer.requestTraversal(WindowSurfacePlacer.java:248)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:205)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:148)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:137)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:79)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at android.os.Handler.handleCallback(Handler.java:942)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at android.os.Looper.loopOnce(Looper.java:211)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at android.os.Looper.loop(Looper.java:300)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at android.os.HandlerThread.run(HandlerThread.java:67)
04-13 20:51:34.276 2901 2955 D jinyanmeistar: at com.android.server.ServiceThread.run(ServiceThread.java:46)

04-13 16:29:56.352 2944 2970 D jinyanmeistart: TaskOrganizerController removeStartingWindow + topActivity:ActivityRecord{c790b3d u0 com.tencent.mobileqq/.activity.LoginActivity} t405}
04-13 16:29:56.352 2944 2970 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.TaskOrganizerController.removeStartingWindow(TaskOrganizerController.java:551)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.StartingSurfaceController$StartingSurface.remove(StartingSurfaceController.java:275)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.ActivityRecord.lambda$removeStartingWindowAnimation$6$com-android-server-wm-ActivityRecord(ActivityRecord.java:3221)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.ActivityRecord$$ExternalSyntheticLambda11.run(Unknown Source:8)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.ActivityRecord.removeStartingWindowAnimation(ActivityRecord.java:3237)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.ActivityRecord.removeStartingWindow(ActivityRecord.java:3163)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.ActivityRecord.onFirstWindowDrawn(ActivityRecord.java:7323)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.performShowLocked(WindowState.java:5094)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowStateAnimator.commitFinishDrawingLocked(WindowStateAnimator.java:315)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.DisplayContent.lambda$new$8$com-android-server-wm-DisplayContent(DisplayContent.java:1065)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.DisplayContent$$ExternalSyntheticLambda17.accept(Unknown Source:4)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:2753)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:2743)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.applyInOrderWithImeWindows(WindowState.java:5377)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.forAllWindows(WindowState.java:5221)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1735)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1752)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.DisplayContent.applySurfaceChangesTransaction(DisplayContent.java:5079)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.RootWindowContainer.applySurfaceChangesTransaction(RootWindowContainer.java:1099)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:897)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:855)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:199)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:148)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:137)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:79)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at android.os.HandlerThread.run(HandlerThread.java:67)
04-13 16:29:56.352 2944 2970 D jinyanmeistart: at com.android.server.ServiceThread.run(ServiceThread.java:46)





然后调用到shell的removeStartingWindow

04-13 16:29:56.353 5000 5835 D jinyanmeistart: ITaskOrganizer removeStartingWindow :
04-13 16:29:56.353 5000 5835 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:56.353 5000 5835 D jinyanmeistart: at android.window.TaskOrganizer$1.removeStartingWindow(TaskOrganizer.java:294)
04-13 16:29:56.353 5000 5835 D jinyanmeistart: at android.window.ITaskOrganizer$Stub.onTransact(ITaskOrganizer.java:219)
04-13 16:29:56.353 5000 5835 D jinyanmeistart: at android.os.Binder.execTransactInternal(Binder.java:1290)
04-13 16:29:56.353 5000 5835 D jinyanmeistart: at android.os.Binder.execTransact(Binder.java:1249)



04-13 16:29:56.354 5000 5129 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingWindowController.removeStartingWindow(StartingWindowController.java:191)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at com.android.wm.shell.ShellTaskOrganizer.removeStartingWindow(ShellTaskOrganizer.java:407)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.window.TaskOrganizer$1.lambda$removeStartingWindow$1$android-window-TaskOrganizer$1(TaskOrganizer.java:295)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.window.TaskOrganizer$1$$ExternalSyntheticLambda10.run(Unknown Source:4)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 16:29:56.354 5000 5129 D jinyanmeistart: at android.os.HandlerThread.run(HandlerThread.java:67)



04-13 16:29:56.359 5000 5287 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.view.ViewRootImpl.die(ViewRootImpl.java:9116)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:523)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:464)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingSurfaceDrawer.removeWindowInner(StartingSurfaceDrawer.java:698)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingSurfaceDrawer.removeWindowSynced(StartingSurfaceDrawer.java:655)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingSurfaceDrawer.removeStartingWindow(StartingSurfaceDrawer.java:523)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingWindowController.lambda$removeStartingWindow$4(StartingWindowController.java:192)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingWindowController.$r8$lambda$qG0mTCPcPig28ujIzll9N1h0gXA(Unknown Source:0)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at com.android.wm.shell.startingsurface.StartingWindowController$$ExternalSyntheticLambda3.run(Unknown Source:4)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 16:29:56.359 5000 5287 D jinyanmeistart: at android.os.HandlerThread.run(HandlerThread.java:67)



由shell的systemUI进程ViewRootImpl调用到 WMS的removeWindow 

并且释放surface。将状态置于0.

04-13 16:29:56.578 2944 2970 D jinyanmeistart: destroySurface mDrawState 555 +++:4
04-13 16:29:56.578 2944 2970 D jinyanmeistart: destroySurface mDrawState 555 ---:0
04-13 16:29:56.578 2944 2970 D jinyanmeistart: java.lang.RuntimeException: jinyanmeistart
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowStateAnimator.destroySurface(WindowStateAnimator.java:830)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowStateAnimator.destroySurfaceLocked(WindowStateAnimator.java:467)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.destroySurfaceUnchecked(WindowState.java:3834)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.destroySurface(WindowState.java:3808)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.onExitAnimationDone(WindowState.java:5578)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowStateAnimator.onAnimationFinished(WindowStateAnimator.java:198)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowState.onAnimationFinished(WindowState.java:5793)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.WindowContainer$$ExternalSyntheticLambda4.onAnimationFinished(Unknown Source:2)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0$com-android-server-wm-SurfaceAnimator(SurfaceAnimator.java:135)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1$com-android-server-wm-SurfaceAnimator(SurfaceAnimator.java:145)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0$com-android-server-wm-LocalAnimationAdapter(LocalAnimationAdapter.java:69)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.wm.LocalAnimationAdapter$$ExternalSyntheticLambda0.run(Unknown Source:6)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at android.os.Handler.handleCallback(Handler.java:942)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at android.os.Looper.loopOnce(Looper.java:211)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at android.os.Looper.loop(Looper.java:300)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at android.os.HandlerThread.run(HandlerThread.java:67)
04-13 16:29:56.578 2944 2970 D jinyanmeistart: at com.android.server.ServiceThread.run(ServiceThread.java:46)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/578500.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录些 LLM 常见的问题和解析

1、提示校准为什么有助于减轻基于提示的学习中的偏见? 提示校准包括调整提示,尽量减少产生的输出中的偏差。 其他:微调修改模型本身,而数据增强扩展训练数据,梯度裁剪防止在训练期间爆炸梯度。 2、是否需要为所有基于文本的LL…

必应bing国内广告开户注册教程!

今天搜索引擎广告成为企业推广产品与服务、提升品牌知名度的重要渠道之一。作为全球第二大搜索引擎,必应Bing凭借其高质量的用户群体和广泛的国际覆盖,为广告主提供了独特的市场机遇。在中国,虽然必应的市场份额相对较小,但对于寻…

鸿蒙官网学习3

鸿蒙官网学习3 每日小提示项目的模块类型跨设备预览调试阶段应用的替换方式有两种 打开老的demo工程报错UIAbility 每日小提示 项目的模块类型 moduleType分为三种,只有1,2的模块支持直接调试和运行 entryfeaturehar 跨设备预览 需要手动在config.j…

在开发软件以便未来本地化到其他语言时需要考虑的事项

我们准备了一份关于开发软件以便未来本地化到其他语言时需要考虑的事项的简要指南。这非常重要,因为您的软件在其他国家市场上的销售可能会带来比本国市场更多的收入。 在开发软件时考虑到未来本地化到其他语言的一些重要方面包括: 设计多语言支持&…

C++—DAY4

在Complex类的基础上&#xff0c;完成^&#xff0c;<<&#xff0c;>>&#xff0c;~运算符的重载 #include <iostream>using namespace std; class Complex {int rel;int vir; public:Complex(){}Complex(int rel,int vir):rel(rel),vir(vir){}void show(){c…

【每日刷题】Day26

【每日刷题】Day26 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. [NOIP2008]笨小猴_牛客题霸_牛客网 (nowcoder.com) 2. 添加逗号_牛客题霸_牛客网 (nowcoder.com) …

windows/linux 安装php的 sql server 扩展

Windowsphpstudyphp7.1 下载&#xff1a;ODBC、下载php 的sql server 扩展 路径&#xff1a;下载地址 版本&#xff1a;我的是7.1 对应的ODBC 是13&#xff0c;php 的sql server 扩展为4.3 安装&#xff1a;msodbcsql 直接安装、sqlsrv43 安装完把 扩展复制到php71 的扩展文…

Python脚本抢票【笔记】

Python脚本抢票【笔记】 前言版权推荐Python脚本抢票【Python】microsoft edge驱动器下载以及使用最后 前言 2024-4-17 18:19:15 以下内容源自《【笔记】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是ht…

Unity WebGL 转换微信小游戏方案

方案特点 保持原引擎工具链与技术栈无需重写游戏核心逻辑&#xff0c;支持大部分第三方插件由转换工具与微信小游戏运行环境保证适配兼容&#xff0c;保持较高还原度微信小游戏平台能力以C# SDK方式提供给开发者&#xff0c;快速对接平台开放能力 技术原理 Unity的BuildTarget支…

【RocketMQ知识点总结-1】

文章目录 RocketMQ介绍RocketMQ架构&#xff1a;NameServer:BrokerProducerTopic&#xff08;主题&#xff09;&#xff1a;Queue&#xff08;队列&#xff09;&#xff1a;Message&#xff08;消息&#xff09;&#xff1a; RocketMQ的工作流程RocketMQ的使用场景异步消息传递…

【数据结构】Map和Set(1)

&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;个人主页&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388; &#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;数据结构专栏&#x1f388;&#x1f388;&#x1f388;&…

【c++】探究C++中的list:精彩的接口与仿真实现解密

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章来到list有关部分&#xff0c;这一部分函数与前面的类似&#xff0c;我们简单讲解&#xff0c;重难点在模拟实现时的迭代器有关实现 目录 1.List介绍2.接…

【博特激光】激光焊接机在塑料领域的应用

激光焊接机在塑料领域的应用已经越来越广泛&#xff0c;这主要得益于其独特的优势和特性。激光焊接机利用激光束产生高能量、高温的条件&#xff0c;将塑料材料熔化并融合在一起&#xff0c;实现焊接的目的。 在塑料领域&#xff0c;激光焊接机主要用于各种塑料制品的焊接&…

【项目分享】用 Python 写一个桌面倒计日程序!

事情是这样的&#xff0c;我们班主任想委托我做一个程序&#xff0c;能显示还有几天考试。我立即理解了这个意思&#xff0c;接下了这个项目。 话不多说&#xff0c;来看看这个项目吧—— 项目简介 仓库地址&#xff1a;https://gitee.com/yaoqx/desktop-countdown-day 这是 …

C语言入门课程学习笔记-6

C语言入门课程学习笔记-6 第27课 - 字符数组与字符串&#xff08;上&#xff09;第28课 - 字符数组与字符串&#xff08;下&#xff09;第29课 - 数组专题练习&#xff08;上&#xff09;第30课 - 数组专题练习&#xff08;下&#xff09; 本文学习自狄泰软件学院 唐佐林老师的…

matplotlib 安装失败:Failed building wheel for matplotlib 解决方案

Python | Failed building wheel for matplotlib 朋友遇到 python 安装 matplotlib 时的问题&#xff0c;笔者帮忙远程调试(踩了不少坑)。网上的解决方案有很多无效&#xff0c;以此来记录以下个人解决方案。 在使用指令 pip install matplotlib出现如下报错&#xff1a; “…

移远通信再推系列高性能卫星、5G、GNSS及三合一组合天线

4月23日&#xff0c;全球领先的物联网整体解决方案供应商移远通信正式宣布&#xff0c;再次推出多款高性能天线产品&#xff0c;以进一步满足物联网市场对高品质天线产品的需求。 其中包括卫星天线YETN001L1A、三合一组合天线YEMA300QXA和YEMN302Q1A&#xff0c;外部5G天线YECN…

Unity对应的c#版本

本文主要是记录一下unity已经开始兼容c#的版本和.net版本&#xff0c;以便更好的利用c#的特性。 c#和.net对应情况 微软已经将.net开发到.net 9了&#xff0c;但是unity的迭代速度远没有c#迭代速度快&#xff0c;已知unity最新的LTS版本unity2023已经兼容了c#9 可以在unity手册…

生成数据能否帮助模型训练?

能否利用生成模型生成的假数据来辅助学习&#xff1f; 到底是可以左脚踩右脚&#xff08;bootsrap&#xff09;地实现 weak-to-strong 的不断提升&#xff0c;还是像鸡生蛋、蛋生鸡一样&#xff0c;只不过是徒劳无功&#xff1f; 论文题目&#xff1a; Do Generated Data Alw…

集成学习算法学习笔记

一、集成学习的基本思想 三个臭皮匠顶一个诸葛亮 集成学习会考虑多个评估器的建模结果&#xff0c;汇总后得到一个综合的结果&#xff0c;以此来获取比单个模型更好的回归或分类表现。 很多独立的机器学习算法&#xff1a;决策树、神经网络、支持向量机 集成学习构建了一组基…