Framework:flutter UI 框架,与flutter系统进行交互,比如我们常用的动画animation、手势Gestures、Painting、Widgets、Material\Cupertino组件;
Engine:引擎C++, API底层实现,比如图形的Skia、布局、文件
Embedder:嵌入层,对应平台的语言,为flutter 提供入口,供Android(java),ios(ibc obc++) 输入法,绘制的surface
我们平常写的需求,基本都是在用Framework的Material、Cupertino组件,万物皆控件,写好的代码会被rendering,layout painter传送到引擎层,skia就开始干活,Android平台或者是iOS平台用的都是skia,统一绘制为高度一致的UI布局。
flutter 绘制流程:
App -> flutter框架(dart) -> Skia(C/C++) -> CPU/GPU
原生Android 绘制流程:
App -> Android SDK(java) -> Skia -> CPU/GPU
RN ionic
App -> 其他框架(RN\ IONIC) -> Android SDK(java\webview) -> CPU/GPU
60Hz,就是1秒钟刷60次,一次16.667ms,所以我们在写业务的时候耗时不应该超出16ms,否则就会出现卡顿。
性能优化,避免卡顿参考:https://juejin.cn/post/6844903974752124941













网友评论