当前位置: 首页 > news >正文

常用的网站建设技术有大连微网站制作

常用的网站建设技术有,大连微网站制作,关键词统计工具有哪些,网站专题优化序 本地动画和远程动画区别是什么? 本地动画#xff1a;自给自足。对自身SurfaceControl矢量动画进行控制。 远程动画#xff1a;拿来吧你#xff01;一个app A对另一个app B通过binder跨进程通信#xff0c;控制app B的SurfaceControl矢量动画。 无论是本地动画还是远程…序 本地动画和远程动画区别是什么? 本地动画自给自足。对自身SurfaceControl矢量动画进行控制。 远程动画拿来吧你一个app A对另一个app B通过binder跨进程通信控制app B的SurfaceControl矢量动画。 无论是本地动画还是远程动画都仅仅只是对SurfaceControl动画图层控制而无法控制应用内部的View。 注矢量动画包含位移、放大、缩小、透明度、圆角等。 常见的远程动画就是我们从桌面点击一个应用启动这个应用这个过程中会产生的动画就是远程动画。 我们从这个角度分析其动画显示过程。 显示过程分析 我们前面通过学习Android T 窗口动画本地动画显示流程发现无论什么类型动画都有其创建和移除的过程在SurfaceAnimator中createAnimationLeash和removeLeash添加log打印堆栈信息。 createAnimationLeash 添加log Slog.i(WindowManager,createAnimationLeash type animationTypeToString(type) animatable animatable, new Exception()); removeLeash 添加log Slog.i(WindowManager,removeLeash leash leash , new Exception()); 我们看看下面几种启动的动画创建和移除的过程排除了insets类型的动画 冷启动 WindowManager: createAnimationLeash type app_transition animatable Task{d0b86 #77 typestandard A10116:com.example.mysystemdialog} WindowManager: createAnimationLeash type app_transition animatable Task{2c8eb49 #1 typehome} WindowManager: createAnimationLeash type window_animation animatable WallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996} WindowManager: removeLeash leash Surface(nameSurface(nameTask1)/0x50de32e - animation-leash of app_transition)/0x5e2271f WindowManager: removeLeash leash Surface(nameSurface(nameTask77)/0xeb831c3 - animation-leash of app_transition)/0xebdcd79 WindowManager: removeLeash leash Surface(nameSurface(nameWallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996})/0xa32d428 - animation-leash of window_animation)/0xd323396 WindowManager: createAnimationLeash type starting_reveal animatable Window{a65f40b u0 com.example.mysystemdialog/com.example.mysystemdialog.MainActivity} WindowManager: createAnimationLeash type window_animation animatable Window{dad6bc2 u0 Splash Screen com.example.mysystemdialog} WindowManager: removeLeash leash Surface(nameSurface(namea65f40b com.example.mysystemdialog/com.example.mysystemdialog.MainActivity)/0xdbce2c1 - animation-leash of starting_reveal)/0x6df31a7 WindowManager: removeLeash leash Surface(nameSurface(namedad6bc2 Splash Screen com.example.mysystemdialog)/0x3868f87 - animation-leash of window_animation)/0x9d22add应用不在后台运行从桌面点击一个应用冷启动动画顺序如下 动画窗口动画类型操作mysystemdialogTaskapp_transition创建home桌面Taskapp_transition创建WallpaperWindowToken壁纸window_animation创建home桌面Taskapp_transition移除mysystemdialogTaskapp_transition移除WallpaperWindowToken壁纸app_transition移除MainActivity冷启动应用主界面ActivityRecordstarting_reveal创建mysystemdialog的冷启动窗口Splash Screenwindow_animation创建MainActivity冷启动应用主界面ActivityRecordstarting_reveal移除mysystemdialog的冷启动窗口Splash Screenwindow_animation移除 热启动 WindowManager: createAnimationLeash type app_transition animatable Task{d0b86 #77 typestandard A10116:com.example.mysystemdialog} WindowManager: createAnimationLeash type app_transition animatable Task{2c8eb49 #1 typehome} WindowManager: createAnimationLeash type window_animation animatable WallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996} WindowManager: removeLeash leash Surface(nameSurface(nameTask1)/0x50de32e - animation-leash of app_transition)/0x6c5dc4f WindowManager: removeLeash leash Surface(nameSurface(nameTask77)/0xeb831c3 - animation-leash of app_transition)/0x8775329 WindowManager: removeLeash leash Surface(nameSurface(nameWallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996})/0xa32d428 - animation-leash of window_animation)/0x8534d86 WindowManager: createAnimationLeash type window_animation animatable Window{d22fcb2 u0 SnapshotStartingWindow for taskId77} WindowManager: removeLeash leash Surface(nameSurface(named22fcb2 SnapshotStartingWindow for taskId77)/0xfcbebd0 - animation-leash of window_animation)/0x3faeece应用本身就在后台运行从桌面热启动应用动画顺序如下 动画窗口动画类型操作mysystemdialogTaskapp_transition创建home桌面Taskapp_transition创建WallpaperWindowToken壁纸window_animation创建home桌面Taskapp_transition移除mysystemdialogTaskapp_transition移除WallpaperWindowToken壁纸app_transition移除mysystemdialog的热启动窗口SnapshotStartingWindowwindow_animation创建mysystemdialog的热启动窗口SnapshotStartingWindowwindow_animation移除 home回到桌面 WindowManager: createAnimationLeash type app_transition animatable Task{2c8eb49 #1 typehome} WindowManager: createAnimationLeash type app_transition animatable Task{d0b86 #77 typestandard A10116:com.example.mysystemdialog} WindowManager: createAnimationLeash type window_animation animatable WallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996} WindowManager: removeLeash leash Surface(nameSurface(nameTask77)/0xeb831c3 - animation-leash of app_transition)/0x77da703 WindowManager: removeLeash leash Surface(nameSurface(nameTask1)/0x50de32e - animation-leash of app_transition)/0x12ce9bd WindowManager: removeLeash leash Surface(nameSurface(nameWallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996})/0xa32d428 - animation-leash of window_animation)/0x5e69f0a在应用界面点击home键退回到桌面界面动画顺序如下 动画窗口动画类型操作home桌面Taskapp_transition创建mysystemdialogTaskapp_transition创建WallpaperWindowToken壁纸window_animation创建mysystemdialogTaskapp_transition移除home桌面Taskapp_transition移除WallpaperWindowToken壁纸window_animation移除 关键堆栈 创建动画 createAnimationLeash 桌面 WindowManager: createAnimationLeash type app_transition animatable Task{2c8eb49 #1 typehome} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder.lambda$build$4(WindowContainer.java:4078) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder.$r8$lambda$BWeVZQp29j72z9D_sWdID2xR4qI(Unknown Source:0) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder$$ExternalSyntheticLambda1.startAnimation(Unknown Source:7) WindowManager: at com.android.server.wm.WindowContainer.applyAnimationUnchecked(WindowContainer.java:3174) WindowManager: at com.android.server.wm.Task.applyAnimationUnchecked(Task.java:3366) WindowManager: at com.android.server.wm.WindowContainer.applyAnimation(WindowContainer.java:2958) WindowManager: at com.android.server.wm.AppTransitionController.applyAnimations(AppTransitionController.java:882) WindowManager: at com.android.server.wm.AppTransitionController.applyAnimations(AppTransitionController.java:1085) WindowManager: at com.android.server.wm.AppTransitionController.handleAppTransitionReady(AppTransitionController.java:266) WindowManager: at com.android.server.wm.RootWindowContainer.checkAppTransitionReady(RootWindowContainer.java:970) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:834) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115) WindowManager: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)应用task WindowManager: createAnimationLeash type app_transition animatable Task{d0b86 #77 typestandard A10116:com.example.mysystemdialog} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder.lambda$build$4(WindowContainer.java:4078) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder.$r8$lambda$BWeVZQp29j72z9D_sWdID2xR4qI(Unknown Source:0) WindowManager: at com.android.server.wm.WindowContainer$AnimationRunnerBuilder$$ExternalSyntheticLambda1.startAnimation(Unknown Source:7) WindowManager: at com.android.server.wm.WindowContainer.applyAnimationUnchecked(WindowContainer.java:3174) WindowManager: at com.android.server.wm.Task.applyAnimationUnchecked(Task.java:3366) WindowManager: at com.android.server.wm.WindowContainer.applyAnimation(WindowContainer.java:2958) WindowManager: at com.android.server.wm.AppTransitionController.applyAnimations(AppTransitionController.java:882) WindowManager: at com.android.server.wm.AppTransitionController.applyAnimations(AppTransitionController.java:1087) WindowManager: at com.android.server.wm.AppTransitionController.handleAppTransitionReady(AppTransitionController.java:266) WindowManager: at com.android.server.wm.RootWindowContainer.checkAppTransitionReady(RootWindowContainer.java:970) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:834) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115) WindowManager: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)壁纸 WindowManager: createAnimationLeash type window_animation animatable WallpaperWindowToken{79ea104 tokenandroid.os.Binder30f6996} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2817) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2823) WindowManager: at com.android.server.wm.WallpaperAnimationAdapter.lambda$startWallpaperAnimations$0(WallpaperAnimationAdapter.java:82) WindowManager: at com.android.server.wm.WallpaperAnimationAdapter.$r8$lambda$pFt1sM34mQb-FFZsZckZ6IVTj_M(Unknown Source:0) WindowManager: at com.android.server.wm.WallpaperAnimationAdapter$$ExternalSyntheticLambda0.accept(Unknown Source:13) WindowManager: at com.android.server.wm.WallpaperWindowToken.forAllWallpaperWindows(WallpaperWindowToken.java:214) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WindowContainer.forAllWallpaperWindows(WindowContainer.java:1911) WindowManager: at com.android.server.wm.WallpaperAnimationAdapter.startWallpaperAnimations(WallpaperAnimationAdapter.java:78) WindowManager: at com.android.server.wm.RemoteAnimationController.createWallpaperAnimations(RemoteAnimationController.java:270) WindowManager: at com.android.server.wm.RemoteAnimationController.goodToGo(RemoteAnimationController.java:185) WindowManager: at com.android.server.wm.AppTransition.goodToGo(AppTransition.java:419) WindowManager: at com.android.server.wm.AppTransitionController.handleAppTransitionReady(AppTransitionController.java:277) WindowManager: at com.android.server.wm.RootWindowContainer.checkAppTransitionReady(RootWindowContainer.java:970) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:834) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115) WindowManager: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)starting_reveal WindowManager: createAnimationLeash type starting_reveal animatable Window{f64bf2d u0 com.example.mysystemdialog/com.example.mysystemdialog.MainActivity} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2817) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2823) WindowManager: at com.android.server.wm.TaskOrganizerController.applyStartingWindowAnimation(TaskOrganizerController.java:634) WindowManager: at com.android.server.wm.TaskOrganizerController.removeStartingWindow(TaskOrganizerController.java:696) WindowManager: at com.android.server.wm.StartingSurfaceController$StartingSurface.remove(StartingSurfaceController.java:271) WindowManager: at com.android.server.wm.ActivityRecord.lambda$removeStartingWindowAnimation$4(ActivityRecord.java:2787) WindowManager: at com.android.server.wm.ActivityRecord.$r8$lambda$cZFIJhaFFrS84y2PDOOXTP_CRFs(Unknown Source:0) WindowManager: at com.android.server.wm.ActivityRecord$$ExternalSyntheticLambda16.run(Unknown Source:4) WindowManager: at com.android.server.wm.ActivityRecord.removeStartingWindowAnimation(ActivityRecord.java:2803) WindowManager: at com.android.server.wm.ActivityRecord.removeStartingWindow(ActivityRecord.java:2732) WindowManager: at com.android.server.wm.ActivityRecord.onFirstWindowDrawn(ActivityRecord.java:6577) WindowManager: at com.android.server.wm.WindowState.performShowLocked(WindowState.java:4674) WindowManager: at com.android.server.wm.WindowStateAnimator.commitFinishDrawingLocked(WindowStateAnimator.java:274) WindowManager: at com.android.server.wm.DisplayContent.lambda$new$8(DisplayContent.java:1099) WindowManager: at com.android.server.wm.DisplayContent.$r8$lambda$OtLCIQFjCt9o-SYztyeDUcWUwGs(Unknown Source:0) WindowManager: at com.android.server.wm.DisplayContent$$ExternalSyntheticLambda10.accept(Unknown Source:4) WindowManager: at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:2684) WindowManager: at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:2674) WindowManager: at com.android.server.wm.WindowState.applyInOrderWithImeWindows(WindowState.java:4942) WindowManager: at com.android.server.wm.WindowState.forAllWindows(WindowState.java:4786) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1672) WindowManager: at com.android.server.wm.DisplayContent.applySurfaceChangesTransaction(DisplayContent.java:4946) WindowManager: at com.android.server.wm.RootWindowContainer.applySurfaceChangesTransaction(RootWindowContainer.java:1014) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:816) WindowManager: at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:777) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:177) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:126) WindowManager: at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:115) WindowManager: at com.android.server.wm.WindowSurfacePlacer$Traverser.run(WindowSurfacePlacer.java:57) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)冷启动窗口 WindowManager: createAnimationLeash type window_animation animatable Window{4d28c0 u0 Splash Screen com.example.mysystemdialog} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2817) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2823) WindowManager: at com.android.server.wm.WindowState.startAnimation(WindowState.java:5327) WindowManager: at com.android.server.wm.WindowState.startAnimation(WindowState.java:5303) WindowManager: at com.android.server.wm.WindowStateAnimator.applyAnimationLocked(WindowStateAnimator.java:652) WindowManager: at com.android.server.wm.WindowManagerService.tryStartExitingAnimation(WindowManagerService.java:2642) WindowManager: at com.android.server.wm.WindowManagerService.relayoutWindow(WindowManagerService.java:2448) WindowManager: at com.android.server.wm.Session.relayout(Session.java:253) WindowManager: at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:727) WindowManager: at com.android.server.wm.Session.onTransact(Session.java:178) WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) WindowManager: at android.os.Binder.execTransact(Binder.java:1244)热启动窗口 WindowManager: createAnimationLeash type window_animation animatable Window{d22fcb2 u0 SnapshotStartingWindow for taskId77} WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.createAnimationLeash(SurfaceAnimator.java:472) WindowManager: at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:186) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2810) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2817) WindowManager: at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2823) WindowManager: at com.android.server.wm.WindowState.startAnimation(WindowState.java:5327) WindowManager: at com.android.server.wm.WindowState.startAnimation(WindowState.java:5303) WindowManager: at com.android.server.wm.WindowStateAnimator.applyAnimationLocked(WindowStateAnimator.java:652) WindowManager: at com.android.server.wm.WindowState.removeIfPossible(WindowState.java:2593) WindowManager: at com.android.server.wm.WindowState.removeIfPossible(WindowState.java:2487) WindowManager: at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2053) WindowManager: at com.android.server.wm.Session.remove(Session.java:230) WindowManager: at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:687) WindowManager: at com.android.server.wm.Session.onTransact(Session.java:178) WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) WindowManager: at android.os.Binder.execTransact(Binder.java:1244)移除动画 removeLeash 桌面 0WindowManager: removeLeash leash Surface(nameSurface(nameTask1)/0x50de32e - animation-leash of app_transition)/0x12ce9bd 0WindowManager: java.lang.Exception 0WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) 0WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) 0WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:132) 0WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0) 0WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8) 0WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:144) 0WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0) 0WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4) 0WindowManager: at com.android.server.wm.RemoteAnimationController.onAnimationFinished(RemoteAnimationController.java:307) 0WindowManager: at com.android.server.wm.RemoteAnimationController.-$$Nest$monAnimationFinished(Unknown Source:0) 0WindowManager: at com.android.server.wm.RemoteAnimationController$FinishedCallback.onAnimationFinished(RemoteAnimationController.java:418) 0WindowManager: at android.view.IRemoteAnimationFinishedCallback$Stub.onTransact(IRemoteAnimationFinishedCallback.java:89) 0WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) 0WindowManager: at android.os.Binder.execTransact(Binder.java:1244)应用task WindowManager: removeLeash leash Surface(nameSurface(nameTask77)/0xeb831c3 - animation-leash of app_transition)/0x77da703 WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:132) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:144) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4) WindowManager: at com.android.server.wm.RemoteAnimationController.onAnimationFinished(RemoteAnimationController.java:307) WindowManager: at com.android.server.wm.RemoteAnimationController.-$$Nest$monAnimationFinished(Unknown Source:0) WindowManager: at com.android.server.wm.RemoteAnimationController$FinishedCallback.onAnimationFinished(RemoteAnimationController.java:418) WindowManager: at android.view.IRemoteAnimationFinishedCallback$Stub.onTransact(IRemoteAnimationFinishedCallback.java:89) WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) WindowManager: at android.os.Binder.execTransact(Binder.java:1244)壁纸 WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:132) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:144) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4) WindowManager: at com.android.server.wm.RemoteAnimationController.onAnimationFinished(RemoteAnimationController.java:322) WindowManager: at com.android.server.wm.RemoteAnimationController.-$$Nest$monAnimationFinished(Unknown Source:0) WindowManager: at com.android.server.wm.RemoteAnimationController$FinishedCallback.onAnimationFinished(RemoteAnimationController.java:418) WindowManager: at android.view.IRemoteAnimationFinishedCallback$Stub.onTransact(IRemoteAnimationFinishedCallback.java:89) WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) WindowManager: at android.os.Binder.execTransact(Binder.java:1244)starting_reveal WindowManager: removeLeash leash Surface(nameSurface(namef64bf2d com.example.mysystemdialog/com.example.mysystemdialog.MainActivity)/0xdf5580d - animation-leash of starting_reveal)/0x6af05d3 WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) WindowManager: at com.android.server.wm.SurfaceAnimator.cancelAnimation(SurfaceAnimator.java:364) WindowManager: at com.android.server.wm.SurfaceAnimator.cancelAnimation(SurfaceAnimator.java:270) WindowManager: at com.android.server.wm.WindowContainer.cancelAnimation(WindowContainer.java:2832) WindowManager: at com.android.server.wm.WindowState.lambda$removeIfPossible$2(WindowState.java:2503) WindowManager: at com.android.server.wm.WindowState.$r8$lambda$gtdPXCAzSiavwVZY5OZGcTDMs84(Unknown Source:0) WindowManager: at com.android.server.wm.WindowState$$ExternalSyntheticLambda0.apply(Unknown Source:2) WindowManager: at com.android.server.wm.WindowState.applyInOrderWithImeWindows(WindowState.java:4942) WindowManager: at com.android.server.wm.WindowState.forAllWindows(WindowState.java:4786) WindowManager: at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1655) WindowManager: at com.android.server.wm.WindowState.removeIfPossible(WindowState.java:2501) WindowManager: at com.android.server.wm.WindowState.removeIfPossible(WindowState.java:2487) WindowManager: at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2053) WindowManager: at com.android.server.wm.Session.remove(Session.java:230) WindowManager: at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:687) WindowManager: at com.android.server.wm.Session.onTransact(Session.java:178) WindowManager: at android.os.Binder.execTransactInternal(Binder.java:1285) WindowManager: at android.os.Binder.execTransact(Binder.java:1244)冷启动窗口 WindowManager: removeLeash leash Surface(nameSurface(name4d28c0 Splash Screen com.example.mysystemdialog)/0xbbbe9b3 - animation-leash of window_animation)/0x7ca9ee9 WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:132) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:144) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4) WindowManager: at com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0(LocalAnimationAdapter.java:67) WindowManager: at com.android.server.wm.LocalAnimationAdapter.$r8$lambda$gPDCFw0mQLltlXqA3mL6IUKCwLs(Unknown Source:0) WindowManager: at com.android.server.wm.LocalAnimationAdapter$$ExternalSyntheticLambda0.run(Unknown Source:6) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)热启动窗口 WindowManager: removeLeash leash Surface(nameSurface(named22fcb2 SnapshotStartingWindow for taskId77)/0xfcbebd0 - animation-leash of window_animation)/0x3faeece WindowManager: java.lang.Exception WindowManager: at com.android.server.wm.SurfaceAnimator.removeLeash(SurfaceAnimator.java:423) WindowManager: at com.android.server.wm.SurfaceAnimator.reset(SurfaceAnimator.java:413) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0(SurfaceAnimator.java:132) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$lRxTVOJy8fX752UbrFno9INW9hE(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda1.run(Unknown Source:8) WindowManager: at com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1(SurfaceAnimator.java:144) WindowManager: at com.android.server.wm.SurfaceAnimator.$r8$lambda$4PiCdaEsT4mA6LQVhqpeM5EoU9c(Unknown Source:0) WindowManager: at com.android.server.wm.SurfaceAnimator$$ExternalSyntheticLambda0.onAnimationFinished(Unknown Source:4) WindowManager: at com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0(LocalAnimationAdapter.java:67) WindowManager: at com.android.server.wm.LocalAnimationAdapter.$r8$lambda$gPDCFw0mQLltlXqA3mL6IUKCwLs(Unknown Source:0) WindowManager: at com.android.server.wm.LocalAnimationAdapter$$ExternalSyntheticLambda0.run(Unknown Source:6) WindowManager: at android.os.Handler.handleCallback(Handler.java:942) WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) WindowManager: at android.os.Looper.loopOnce(Looper.java:201) WindowManager: at android.os.Looper.loop(Looper.java:288) WindowManager: at android.os.HandlerThread.run(HandlerThread.java:67) WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:44)小结 从当前分析以及堆栈来看应用的启动窗口相关动画冷启动应用主界面starting_reveal、冷启动窗口Splash Screen、热启动窗口SnapshotStartingWindow均为本地动画其他的动画均为远程动画。 本地动画 窗口类型冷启动应用主界面starting_reveal、冷启动窗口Splash Screen、热启动窗口SnapshotStartingWindow。 代码逻辑创建动画时从applyAnimationLocked流程到createAnimationLeash移除动画时从LocalAnimationAdapter的Callback到removeLeash流程。 注starting_reveal类型动画比较特殊涉及到StartingWindow动画流程。 远程动画 窗口类型桌面Task、应用Task、壁纸。 代码逻辑创建动画时从handleAppTransitionReady流程到移除动画时从IRemoteAnimationFinishedCallback流程到removeLeash流程。
http://www.pierceye.com/news/990684/

相关文章:

  • 如何做一份网站的数据分析网站营销案例
  • 中小企业网站建设公司个人微信号做网站行吗
  • 网站无法连接服务器哪些国家网站无须备案
  • 重庆做网站设计培训机构排名全国十大教育机构排名
  • 做网站建设销售网络营销推广技巧
  • 南宁网站制作定制北京网站seo服务
  • 门户网站网页设计规范willin kan 让你的wordpress飞起来
  • 建设银行广州招聘网站wordpress dz
  • 如何介绍自己做的网站东莞回收网站设计
  • 北京驾校网站建设厦门网页设计培训班
  • 网络公司给我做网站我有没有源代码版权吗我怎么做个人网站
  • 免费建站网站一站式做网站需要懂那些软件
  • 做新网站怎样提交360寻找销售团队外包
  • 重庆市建设网站wordpress 新闻模版
  • 国内网站建设推荐手工做的网站
  • 深圳罗湖做网站的公司网站建设与管理案例教程第三版课后答案
  • 有关网站招标商务标书怎么做做终端客户网站
  • c 网站做微信收款功能青岛网站建设定制
  • 贵州安顺建设主管部门网站网站全程设计技术
  • 公司宣传网站建设企业网站建设与实现的论文
  • 连云港网站建设推广网站的推广优化
  • 手机商城网站制作公司网站版面设计方案
  • 网站开发制作熊掌号网站推广方法主要有什么
  • 怎么查看网站的建设时间提高企业网站的访问率
  • 宁德做网站的公司长沙网站建设 芙蓉区
  • 兴平市住房和城乡建设局门户网站会员管理网站建设
  • 做seo的网站是怎么样的上饶小程序开发公司
  • 网站硬件需求建网站网站
  • 网站主机域名合肥室内装修设计培训
  • 上海网站优化网站对企业的作用