专栏首页Android相关Android-performTraversals

Android-performTraversals

PerformTraversals

该方法是在ViewRootImpl.java文件中,一旦触发该操作,就会从decorView开始进行measure,Layout,draw了。 在scheduleTraversals中会调用Choregrapher.postCallback,将它post出去,而postSyncBarrier方法禁止了后续的消息处理,一旦post出去了同步的Barrier之后,所有的非异步调用的消息就会被停止分发。

scheduleTraversals

doTraversal是在一个Runnable的run方法中执行的

TraversalRunnable

而PerformTraversals函数,是在doTraversal方法中被调用的。

doTraversal

可以看到其中会调用 mHandler.getLooper().removeSyncBarrier(mTraversalBarrier),再调用performTraversals函数。 removeSyncBarrier的注释为:删除掉一个同步的Barrier。源码中看,就是删除了一个以Message.arg1为mTraversalBarrier的Message。也就是说,会首先从MessageQueue中把mTraversalBarrier的这个Message删除,然后调用performTraversals。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android中的通知和自定义通知布局

    Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程...

    指点
  • Android中的权限问题

    在Android程序中,在执行形如访问网络、读取联系人时都要声明权限,在 Android 系统版本小于6.0时,所有的权限只需要在AndroidManifest...

    指点
  • Android 中为RecyclerView控件添加分隔线

    在上一篇 RecyclerView 控件的文章中,我们看了一下ListView控件和RecyclerView控件的简单用法,那么下面我们将关注点放在Recycl...

    指点
  • Android中ContentProvider的用法

    在Android中,如果要将一个程序的数据共享给另一个程序,在之前的Android版本,我们可以设置Android文件和SharedPreferences操作的...

    指点
  • Android多线程的使用

    在很多编程语言中,线程都是一个重要的组成部分,多线程的支持可以给程序员更加灵活的程序功能实现代码编写方式,线程一般用于处理一些比较耗时的任务(下载文件、复制或者...

    指点
  • Kotlin入门(20)几种常见的对话框

    手机上的App极大地方便了人们的生活,很多业务只需用户拇指一点即可轻松办理,然而这也带来了一定的风险,因为有时候用户并非真的想这么做,只是不小心点了一下而已,如...

    用户4464237
  • Android的ListView和RecyclerView的基本用法

    在Android 5.0 版本之前,为了方便的显示多行数据,形如QQ聊天信息主界面,最常用的选择无非是ListView控件,但是ListView控件本身就有很大...

    指点
  • Android 中 View 的手势事件处理

    View 作为Android中最直接的和用户进行交互的单位,对于 View 的事件处理重要程度自然不言而喻,View 的事件处理直接影响到用户体验,下面我们来看...

    指点
  • Android Service基础

    Service 作为Android的四大组件之一,如果没听过Service,怎么能说能说自己是一个Android开发者呢,实际上,Service 在Androi...

    指点
  • 使用Android MediaPlayer播放媒体文件

    我们平时利用Android手机娱乐最常见的方式莫过于听歌和看电影了,当然还有玩游戏,当然,这里我要说的是针对Android对于媒体文件播放的支持。Android...

    指点

扫码关注云+社区

领取腾讯云代金券