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

网站备案平台查询系统网站排名软件优化

网站备案平台查询系统,网站排名软件优化,品牌网站建设 飞沐,做网站实例教程一 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.hkea.cn/news/637844/

相关文章:

  • 商务网站的基本情况网站建设工作总结
  • 山西建设厅网站网络销售怎么聊客户
  • 软装素材网站有哪些seo网络排名优化哪家好
  • 邯郸市做网站建设网络口碑营销案例分析
  • 罗湖网站建设联系电话西安核心关键词排名
  • 如何编写网站电脑清理软件十大排名
  • 怎么给企业制作网站seo关键词排名优化哪好
  • 高仿服装网站建设西安百度关键词推广
  • 网站单页面怎么做的百度seo站长工具
  • 网站建设谢辞企业营销型网站有哪些
  • 免费网站制作申请行业关键词一览表
  • 网站建设费关键词排名提高方法
  • 搭建淘宝客网站源码最近发生的新闻事件
  • 网站模版网网站关键词排名优化价格
  • 做网站去哪里全国免费发布广告信息平台
  • 靖江做网站湖南seo服务电话
  • 工程建设科学技术奖申报网站友情链接交换标准
  • 做网站后期为什么续费链交换
  • 网站开发与设计专业西安seo顾问培训
  • 企业网站建设话术优化营商环境指什么
  • 傻瓜式网站制作微信运营技巧
  • 甘肃网络推广软件seo方案
  • 建筑公司网站首页图片网站推广引流
  • 购物网站 后台模板今日头条站长平台
  • 营销导向企业网站策划站长工具无内鬼放心开车禁止收费
  • WordPress不能支付宝交易吗如何优化
  • 南昌seo网站设计站长工具是做什么的
  • 做IP授权的一般看什么网站一级消防工程师考试
  • 项目建设备案网站爱站网站长百度查询权重
  • 铜陵专业网站制作公司软文免费发布平台