我试图了解 android.graphics packageSurfaceFlinger 之间的关系。

基于 Android Graphics Documentation 有两种绘制 2D 图形的方法。一种是使用 VIEW 对象,另一种是直接绘制到 Canvas。正如我从文档中读到的那样,当直接绘制到 Canvas 时,可以创建一个线程来管理链接到 SurfaceViewSurfaceFlinger 。我还在代码中注意到 android.graphics 包只是 SKIA 库的包装器。使用 JNI 调用 SKIA 函数。因此,我无法确定调用是否仍会转到 SurfaceFlinger。

这是否意味着在使用View对象做简单的2D图形时,就不需要SurfaceFlinger了?还是在将任何类型的图形绘制到屏幕时总是使用 Surfaceflinger?任何输入?

最佳答案

这个问题已经在我的另一篇文章中回答了。

Android SurfaceFlinger

根据@hackbod(我在进一步分析源代码时也证明了这一点),

10-07 19:03