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 window04-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的removeStartingWindow04-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)

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios不兼容Svg Wave的动画的解决方法

近日也是用上了SvgWave,十分的好看 Svg Wave - A free & beautiful gradient SVG wave Generator. 大家感兴趣的也可以了解一下 【场景】 使用SvgWave的Animate,并生成svg代码使用,windows web端、朋友的安卓移动端都能够正常执行动画…

前端CSS基础10(浮动)

前端CSS基础10(浮动) 浮动元素浮动后的特点浮动后的特点浮动后的影响及解决 浮动布局小练习 浮动 CSS中的浮动是一种布局技术,常用于实现元素的排列和定位。通过使用float属性,可以让元素在页面中左浮动或右浮动,使得…

在PostgreSQL中如何有效地批量导入大量数据,并确保数据加载过程中的性能和稳定性?

文章目录 解决方案1. 使用COPY命令2. 调整配置参数3. 禁用索引和约束4. 使用事务5. 并发导入 总结 在PostgreSQL中,批量导入大量数据是一个常见的需求,特别是在数据迁移、数据仓库填充或大数据分析等场景中。为了确保数据加载过程中的性能和稳定性&#…

Compose和Android View相互使用

文章目录 Compose和Android View相互使用在Compose中使用View概述简单控件复杂控件嵌入XML布局 在View中使用Compose概述在Activity中使用Compose在Fragment中使用Compose布局使用多个ComposeView 在布局中使用Compose 组合使用 Compose和Android View相互使用 在Compose中使用…

AIGC - SD(中英文本生成图片) + PaddleHub/HuggingFace + stable-diffusion-webui

功能 stable-diffusion(文本生成图片)webui-win搭建(开启api界面汉化)PaddleHubHuggingFace: SD2,中文-alibaba/EasyNLP stable-diffusion-webui 下载与安装 环境相关下载 python(文档推荐:Install Python 3.10.6 …

linux开发板开机启动向日葵

硬件:orangepi 5 pro 操作系统:ubuntu 20.4 lts 安装向日葵 根据我的实测,arm架构的ubuntu系统只能安装向日葵提供的麒麟系统的那个版本,具体安装方式官网下载页面有 允许任意用户连接到 X11 使用root用户登录后打开终端输入一下…

react函数组件传值(父子/子父/兄弟)

父子组件传值 子父组件传值 兄弟组件传值 注:本人前端小白 ,如有不对的地方还请多多指教

knife4j swagger 使用笔记

1.接口访问的端口跟后台设置的不一致,接口请求无反应 处理办法 2.响应参数不显示问题 (1)返回的参数里面一定要有响应的参数对象,如下: (2)TableDataInfo 定义成泛型类 TableDataInfo package…

ros2 node 之间的通信方式之 —— Topic通信案例

文章目录 ros2 node 之间的通信方式之 Topic通信Topic 通信案例1、创建工作空间2、创建功能包3、编写发布者和订阅者代码3.1 topic_helloworld_pub.cpp3.2 topic_helloworld_sub.cpp 4、编写CMakeLists.txt5、编译工作空间下的功能包6、运行结果 ros2 node 之间的通信方式之 To…

AutoGPT-Forge使用教程,自行构建agent智能体

本博客给出AutoGPT-forge四个教程的翻译与理解,使用GPT4翻译, 参考官方教程https://aiedge.medium.com/autogpt-forge-a-comprehensive-guide-to-your-first-steps-a1dfdf46e3b4 使用AutoGPT Github代码日期2024/4/22; 博客开始编辑日期20…

C语言项目实战——扫雷

目录 1.前言 2.完整流程 2.1规划书 2.2代码部分 2.2.1文件的结构设计 2.2.2变量的创建 2.2.3菜单的基本实现 2.2.4初始化期棋盘 2.2.5输出完整棋盘 2.2.6埋雷的实现 2.2.7查询周围雷的数量 2.2.8扫雷的实现 2.2.9完整代码 3.总结 1.前言 哈喽大家好吖,今…

【C++打怪之路Lv3】-- 类和对象(上)

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

开发环境搭建:Windows 桌面应用程序

文章目录 前言1、开发环境准备2、Hello World !3、发布总结 前言 操作系统:Windows 10 企业版 LTSC 1809 IDE:Microsoft Visual Studio 2022 Community 说明:Windows 10 企业版 LTSC 1809 不支持 .NET 4.8.1 详情请查看官方说明文档 1、开发…

The Log-Structured Merge-Tree (LSM-Tree) 论文阅读笔记

原论文:The Log-Structured Merge-Tree (LSM-Tree) LSM-Tree的简介和关键技术要点 LSM-Tree(Log-Structured Merge-Tree)是一种为高吞吐量读写操作优化的数据结构,特别适用于写入密集型的应用场景。它由Patrick O’Neil等人开发…

基于streamlit快速部署机器学习项目(Public URL)

基于streamlit的AIGC项目前端展示 1.Streamlit 简介与入门1.1 安装 Streamlit1.2 开发Streamlit应用程序1.3 启动并运行1.3.1 本地运行1.3.2 部署 现在LLM技术发展迅速,很多人在学习的时候,都想展示效果,并且想部署在服务器上,但是…

【人工智能基础】线性回归实验分析

实验使用到的库:numpy、matplotlib、scikit-learn 实验使用的开发环境:anaconda、jupyter 一、线性回归 线性回归就是使用一个线性函数(多项式回归可以是曲线)去拟合给定的训练集,测试时,对输入的x值&#…

Jammy@Jetson Orin - Tensorflow Keras Get Started: Concept

JammyJetson Orin - Tensorflow & Keras Get Started: Concept 1. 源由2. 模型2.1 推理流程2.1.1 获取图像2.1.2 算法识别2.1.3 判断决策 2.2 理想情况2.2.1 多因素输入2.2.2 理想识别概率 2.3 学习过程2.3.1 标记训练集2.3.2 损失函数2.3.3 训练网络2.3.4 渐进方法 3. 总…

jvm(JVM快速入门、stack栈、堆、GC垃圾回收、Arthas)

文章目录 1. JVM快速入门1.1. 结构图1.2. 类加载器ClassLoader1.3. 执行引擎Execution Engine1.4. 本地接口Native Interface1.5. Native Method Stack1.6. PC寄存器(程序计数器)1.7. Method Area方法区 2. stack栈3. 堆3.1. 堆体系概述3.1.1. 新生区3.1.2. 老年代3.1.3. 永久代…

python基础知识点(蓝桥杯python科目个人复习计划66)

今日复习内容:算法双周赛 第一题:疯狂星期六 题目描述: 麦肯鸡是一家名声在外的汉堡店,他们最近推出了一份名为vivo50的套餐,只需要在门口大声喊出vivo50,就可以获得这个套餐。 现在,请你打…

了解ASK模块STX883Pro和超外接收模块SRX883Pro的独特之处 STX883Pro模块具有以下特点:

高发射功率:STX883Pro具有较高的发射功率,可实现长距离的信号传输,适用于需要覆盖广泛区域的应用场景。 高频率稳定性:具备稳定的频率输出,确保信号传输的可靠性和一致性,避免频率漂移导致的通信故障。 大…