从 android.view.ViewRootImpl.TraversalRunnable.run::: 到 android.view.View.onMeasure::int,int:

函数栈

从 android.view.ViewRootImpl.TraversalRunnable.run 到 android.view.View.onMeasure,onLayout,onDraw

onMeasure的函数栈:

  1. android.view.ViewRootImpl.TraversalRunnable.run:::
  2. android.view.ViewRootImpl.doTraversal:::
  3. android.view.ViewRootImpl.performTraversals:::
  4. android.view.ViewRootImpl.measureHierarchy::View,WindowManager.LayoutParams,Resources,int,int:
  5. android.view.ViewRootImpl.performMeasure::int,int:
  6. android.view.View.measure::int,int:
  7. android.view.View.onMeasure::int,int:

其中在调用了android.view.ViewRootImpl.measureHierarchy之后, android.view.ViewRootImpl.performTraversals又调用了android.view.ViewRootImpl.performMeasure

onLayout的函数栈:

  1. android.view.ViewRootImpl.TraversalRunnable.run:::
  2. android.view.ViewRootImpl.doTraversal:::
  3. android.view.ViewRootImpl.performTraversals:::
  4. android.view.ViewRootImpl.performLayout::WindowManager.LayoutParams,int,int:
  5. android.view.View.layout::int,int,int,int:
  6. android.view.View.onLayout::boolean,int,int,int,int:

其中android.view.ViewRootImpl.performLayout::WindowManager.LayoutParams,int,int:中还调用了android.view.ViewRootImpl.measureHierarchy::View,WindowManager.LayoutParams,Resources,int,int:,android.view.View.layout::int,int,int,int:中还调用了android.view.View.onMeasure::int,int:

onMeasure的调用栈

  1. android.view.ViewRootImpl.TraversalRunnable.run:::
  2. android.view.ViewRootImpl.doTraversal:::
  3. android.view.ViewRootImpl.performTraversals:::
  4. android.view.ViewRootImpl.performDraw:::
  5. android.view.ViewRootImpl.draw::boolean:
  6. android.view.ViewRootImpl.drawSoftware::Surface,AttachInfo,int,int,boolean,Rect:
  7. android.view.View.draw::Canvas:
  8. android.view.View.onDraw::Canvas:

我们依据这个图来决定读源码的顺序。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-03
  • 2021-12-09
  • 2021-06-09
  • 2022-12-23
  • 2022-01-24
  • 2022-01-03
相关资源
相似解决方案