Flutter
文章平均质量分 96
工匠若水
加微信:bitdev
展开
-
Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析
背景本系列前面已经分析了 Flutter 的很多知识,这一篇我们来看下 Flutter 平台通信相关原理。Flutter 官方提供三种 Platform 与 Dart 端消息通信方式,他们分别是 MethodChannel、BasicMessageChannel、EventChannel,本文会继续延续前面系列对他们进行一个深度解析,源码依赖 Flutter 2.2.3 版本,Platform 选取熟悉的 Android 平台实现。对于 MethodChannel、BasicMessageChannel原创 2021-08-22 16:06:40 · 6846 阅读 · 5 评论 -
Flutter 绘制动机 VSYNC 流程源码全方位分析
前面系列我们依赖 Android 平台实现分析了端侧很多机制,但是有一个知识点一直比较迷糊,那就是 Flutter 是怎么被触发绘制的?这个问题在网上的答案基本都说 VSYNC,但是少有人说这个 VSYNC 是怎么被关联起来的,本文就针对这个问题进行一个 Platform 到 Engine 到 Dart Framework 分析,源码依赖 Flutter 2.2.3。原创 2021-08-18 19:04:32 · 6557 阅读 · 0 评论 -
Flutter Android 端 FlutterView 相关流程源码分析
背景前面文章我们分析了 flutter 在 android 端编译命令相关流程,也分析了 Flutter App dart 代码入口开始到三棵核心树诞生流程,按照源码顺序,我们接下来需要先分析一下 Flutter Android 端 framework 平台实现代码(非 native engine 引擎部分),下面以一个纯 Flutter App 为例展开分析。工程结构及 API 变更对于一个纯 flutter app 来说,当我们在 yaml 依赖中添加两个 flutter plugin 依赖,然后原创 2021-08-15 13:25:17 · 6537 阅读 · 6 评论 -
Flutter Android 端 FlutterEngine Java 相关流程源码分析
背景前面文章我们分析了 flutter 在 android 端编译命令相关流程,也分析了 Flutter App dart 代码入口开始到三棵核心树诞生流程,按照源码顺序,我们接下来需要先分析一下 Flutter Android 端 framework 平台实现代码(非 native engine 引擎部分),下面以一个纯 Flutter App 为例展开分析。工程结构及 API 变更对于一个纯 flutter app 来说,当我们在 yaml 依赖中添加两个 flutter plugin 依赖,然后原创 2021-08-10 19:58:15 · 5555 阅读 · 2 评论 -
Flutter Android 端 FlutterInjector 及依赖流程源码分析
背景前面文章我们分析了 flutter 在 android 端编译命令相关流程,也分析了 Flutter App dart 代码入口开始到三棵核心树诞生流程,按照源码顺序,我们接下来需要先分析一下 Flutter Android 端 framework 平台实现代码(非 native engine 引擎部分),下面以一个纯 Flutter App 为例展开分析。工程结构及 API 变更对于一个纯 flutter app 来说,当我们在 yaml 依赖中添加两个 flutter plugin 依赖,然后原创 2021-08-08 11:15:24 · 5700 阅读 · 0 评论 -
Flutter Android 端 Activity/Fragment 流程源码分析
背景前面文章我们分析了 flutter 在 android 端编译命令相关流程,也分析了 Flutter App dart 代码入口开始到三棵核心树诞生流程,按照源码顺序,我们接下来需要先分析一下 Flutter Android 端 framework 平台实现代码(非 native engine 引擎部分),下面以一个纯 Flutter App 为例展开分析。工程结构及 API 变更对于一个纯 flutter app 来说,当我们在 yaml 依赖中添加两个 flutter plugin 依赖,然后原创 2021-08-02 23:04:04 · 7066 阅读 · 2 评论 -
Flutter 的 runApp 与三棵树诞生流程源码分析
背景从写 Flutter 第一行程序开始我们就知道在 Dart 的 main 方法中通过调用 runApp 方法把自己编写的 Widget 传递进去,只有这样编译运行后才能得到预期效果。你有没有好奇这背后都经历了什么?runApp 为什么这么神秘?或者说,在你入门 Flutter 后应该经常听到或看到过 Flutter 三棵树核心机制的东西,你有真正的想过他们都是什么吗?如果都没有,那么本文就是一场解密之旅。Flutter 程序入口我们编写的 Flutter App 一般入口都是在 main 方法,其原创 2021-08-01 23:13:07 · 6946 阅读 · 9 评论 -
Flutter 命令本质之 Flutter tools 机制源码深入分析
背景上一篇《Flutter Android 工程结构及应用层编译源码深入分析》我们分析了 Flutter Android 相关的应用层主要编译流程,其中分析到底层本质命令工具【Flutter SDK 下bin/flutter编译命令分析】小节时只提到,我们执行任何 flutter 命令的本质都是把参数传递到了FLUTTER_SDK_DIR/packages/flutter_tools/bin/flutter_tools.dart源码的 main 方法中,没有对这里面进行深入分析。本文要做的事就是层层递进揭原创 2021-07-25 21:08:03 · 6461 阅读 · 6 评论 -
Flutter Android 工程结构及应用层编译源码深入分析
本文部分配图及源码最近基于 Flutter 2.2.3 版本进行了修正更新发布。目的是为了弄清 Flutter 在安卓端应用层的整个编译来龙去脉,以便编译过程中出任何问题都能做到心里有数,另一个目的是为了能够在应用层定制 Flutter 编译。全文比较长,图文并茂,由工程结构深入到源码解析。原创 2021-07-18 22:09:31 · 9088 阅读 · 14 评论