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

网站缺点重庆多个区划定风险区

网站缺点,重庆多个区划定风险区,亦庄网站开发公司,wordpress导航图标一 android 动画分为app内的view动画和系统动画 基本原理都是监听Choreographer的doframe回调 二 app端的实现是主要通过AnimationUtils来实现具体属性的变化通过invilate来驱动 wms来进行更新。这个流程是在app进程完成 这里不是我分析的重点 直接来看下系统动画里面的本地动…


android 动画分为app内的view动画和系统动画
基本原理都是监听Choreographer的doframe回调


app端的实现是主要通过AnimationUtils来实现具体属性的变化通过invilate来驱动
wms来进行更新。这个流程是在app进程完成

这里不是我分析的重点
直接来看下系统动画里面的本地动画:app启动动画,这个流程是在系统进程完成
这里分成三个部分的流程:
动画的触发,动画的加载,动画的启动,动画的关闭。

这里大概写下流程,下面有具体的调用堆栈
1 触发 ams.attachapplicaton---activitystack.minimalresumeactivitylocked---rootwindowcontainner--displaycontent
---wms.requestTraversal--mService.mAnimationHandler.post(mPerformSurfacePlacement);(post 一个runnable消息给wms)

2 启动
---rootwindowcontainer---performsurfaceplacementnotrace------apptransitioncontroller.applyanimations---
---windowcontainer.applyanimationunchecked -----surfaceanimator.startanimation--(创建leash然后Transaction.reparent(surface,leash))
---localanimationadapter(animationadapter的父类)---surfaceanimationrunner.startanimation--mChoreographer.postFramecallback
3 关闭
  windowcontainer循环完后,调用wms的onAnimationfinished。

详细动画执行流程
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.SurfaceAnimationRunner.startAnimation(SurfaceAnimationRunner.java:139)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.LocalAnimationAdapter.startAnimation(LocalAnimationAdapter.java:55)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.SurfaceAnimator.startAnimation(SurfaceAnimator.java:160)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.startAnimation(WindowContainer.java:2128)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowState.startAnimation(WindowState.java:5222)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowState.startMoveAnimation(WindowState.java:5218)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowState.handleWindowMovedIfNeeded(WindowState.java:2090)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.DisplayContent.lambda$new$8$DisplayContent(DisplayContent.java:884)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc.accept(Unknown Source:4)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:2003)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer$ForAllWindowsConsumerWrapper.apply(WindowContainer.java:1993)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowState.applyInOrderWithImeWindows(WindowState.java:4672)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowState.forAllWindows(WindowState.java:4571)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.ActivityRecord.forAllWindowsUnchecked(ActivityRecord.java:3632)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.ActivityRecord.forAllWindows(ActivityRecord.java:3627)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.TaskDisplayArea.forAllWindows(TaskDisplayArea.java:511)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1310)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowContainer.forAllWindows(WindowContainer.java:1327)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.DisplayContent.applySurfaceChangesTransaction(DisplayContent.java:4010)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.RootWindowContainer.applySurfaceChangesTransaction(RootWindowContainer.java:1074)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.RootWindowContainer.performSurfacePlacementNoTrace(RootWindowContainer.java:854)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.RootWindowContainer.performSurfacePlacement(RootWindowContainer.java:811)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop(WindowSurfacePlacer.java:178)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:127)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowSurfacePlacer.performSurfacePlacement(WindowSurfacePlacer.java:116)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.DisplayContent.layoutAndAssignWindowLayersIfNeeded(DisplayContent.java:3384)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:5268)
01-01 14:48:34.775  1039  1153 I yang111 :     at android.os.Handler.dispatchMessage(Handler.java:106)
01-01 14:48:34.775  1039  1153 I yang111 :     at android.os.Looper.loop(Looper.java:223)
01-01 14:48:34.775  1039  1153 I yang111 :     at android.os.HandlerThread.run(HandlerThread.java:67)
01-01 14:48:34.775  1039  1153 I yang111 :     at com.android.server.ServiceThread.run(ServiceThread.java:44)

二 动画执行循环流程
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.wm.SurfaceAnimationRunner.startAnimationLocked(SurfaceAnimationRunner.java:182)
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.wm.SurfaceAnimationRunner.startPendingAnimationsLocked(SurfaceAnimationRunner.java:173)
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.wm.SurfaceAnimationRunner.startAnimations(SurfaceAnimationRunner.java:248)
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.wm.SurfaceAnimationRunner.lambda$9Wa9MhcrSX12liOouHtYXEkDU60(Unknown Source:0)
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.wm.-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60.doFrame(Unknown Source:2)
01-01 14:39:38.477  1079  1150 I yang    :     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
01-01 14:39:38.477  1079  1150 I yang    :     at android.view.Choreographer.doCallbacks(Choreographer.java:796)
01-01 14:39:38.477  1079  1150 I yang    :     at android.view.Choreographer.doFrame(Choreographer.java:727)
01-01 14:39:38.477  1079  1150 I yang    :     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
01-01 14:39:38.477  1079  1150 I yang    :     at android.os.Handler.handleCallback(Handler.java:938)
01-01 14:39:38.477  1079  1150 I yang    :     at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 14:39:38.477  1079  1150 I yang    :     at android.os.Looper.loop(Looper.java:223)
01-01 14:39:38.477  1079  1150 I yang    :     at android.os.HandlerThread.run(HandlerThread.java:67)
01-01 14:39:38.477  1079  1150 I yang    :     at com.android.server.ServiceThread.run(ServiceThread.java:44)

http://www.yayakq.cn/news/308171/

相关文章:

  • 网站建设 智宇软件网页设计制作论文
  • 行政机关 网站源码做网站能赚到钱吗
  • 湖南网页设计培训网站建设常州网站建设代理商
  • 建站推广免费公司请私人做网站风险
  • 唐山免费网站制作网站空间服务器费用
  • 诸城高密网站建设wordpress 活动网站
  • 怀化网站优化公司推荐完整php网站开发
  • 缙云 网站建设跨境电商的行业现状
  • 山西做网站的公司哪个好门源县wap网站建设公司
  • 东莞市网站建设制作设计平台如何降低网站的权重
  • 承包酒席可以做网站吗陕西住房与建设厅网站
  • 一站式企业服务ps教程app
  • 网站收录提交入口网址在哪可以接企业网站建设的活
  • 用scala做网站十大高端网站建设
  • 做的好的有哪些网站wordpress 后台编辑
  • 旅游网站建设方案简介福州企业网站建站模板
  • 网站改版 权重学生网站建设实训总结
  • 用jsp sqlserver做的购物网站大华建设项目管理有限公司网站
  • 网站开发连接数据库大数据免费查询平台
  • 综合购物网站排名百度推广关键词越多越好吗
  • 网站初始开发的步骤网络运营商有哪些
  • 国外网站设计的网站南宁兴宁区建设局网站
  • 做网站怎么做iis为网站子目录绑定二级域名
  • vs2012怎么做网站企业网站建设验收
  • 网站编写教程徐州地区网站建设
  • 网站降权恢复佛山网站建设外包公司
  • wordpress数据库断开网站的优化方案
  • 服饰网站模板设计动画毕业设计代做网站
  • 电子商务网站有那些功能广州做网站比较有名的公司
  • 网络教育网站如何做营销推广十大安卓应用商店排名