前言
本文仅仅作为一篇记录性的文章。
最近遇到一个问题,就是为什么Flutter在低端机上的渲染性能可能会超过原生的问题。
看到的一个解释是,Flutter使用了最新版本的Skia。Skia也针对Flutter做了一些优化。
那么,问题来了,Flutter engine中是否包含Skia呢?
结论
Skia是打入了Flutter engine的,具体可以参见Flutter engine的编译流程:26 code results in flutter/engine or view all results on GitHub。
我们也可以从《Flutter实战》一书中找到答案。在“1.2 初识Flutter”章节中,有这么一段描述:这是一个纯 C++实现的 SDK,其中包括了Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。
也可以查看本书的相关issue:按google团队的介绍,Skia无论是android或ios应该都被打包最新的。