我试图了解 android.graphics package
和 SurfaceFlinger
之间的关系。
基于 Android Graphics Documentation 有两种绘制 2D 图形的方法。一种是使用 VIEW 对象,另一种是直接绘制到 Canvas。正如我从文档中读到的那样,当直接绘制到 Canvas 时,可以创建一个线程来管理链接到 SurfaceView
的 SurfaceFlinger
。我还在代码中注意到 android.graphics
包只是 SKIA 库的包装器。使用 JNI 调用 SKIA 函数。因此,我无法确定调用是否仍会转到 SurfaceFlinger。
这是否意味着在使用View对象做简单的2D图形时,就不需要SurfaceFlinger了?还是在将任何类型的图形绘制到屏幕时总是使用 Surfaceflinger?任何输入?
最佳答案
这个问题已经在我的另一篇文章中回答了。
Android SurfaceFlinger
根据@hackbod(我在进一步分析源代码时也证明了这一点),