5

我很好奇小伙伴们

什么是确切的情况doTraversal -> performTraversals被称为?由于我的活动非常繁重,我希望应用程序调用onDraw或排序。performTraversals 非常重,它正在尝试/测量是否应该调整视图大小,我猜是这样的。当我制作一些视图时我不需要它,没有其他视图依赖于它,GONE,但我想我不能跳过它。所以在深入Android的源码之前,我想问一下。如果你知道,请随时分享:)

谢谢, 达尼尔

4

1 回答 1

8

performTraversals()有很多工作,但它的三个主要角色是:

  • 测量视图
  • 布局视图
  • 绘制视图

每次Android需要重绘一个窗口时,performTraversals()都会被调用。然而,这并不意味着每次 performTraversals() 执行时都会发生测量/布局。如果您使用的是标准视图,则不能跳过performTraversals()(只有 SurfaceView 允许您在绘图时绕过它。)

于 2012-10-04T18:55:57.243 回答