【Flutter原理】Flutter入口runApp源码分析,图文详解

本文详细分析了Flutter应用程序的入口runApp的执行流程,从设备DPI、窗口信息到scheduleAttachRootWidget,解释了如何将根Widget挂载到渲染树,并探讨了热身帧绘制的过程,确保在首次绘制时不受事件干扰。
摘要由CSDN通过智能技术生成

// 当前设备的DPI,即一个逻辑像素显示多少物理像素,数字越大,显示效果就越精细保真。

// DPI是设备屏幕的固件属性,如Nexus 6的屏幕DPI为3.5

double get devicePixelRatio => _devicePixelRatio;

// Flutter UI绘制区域的大小

Size get physicalSize => _physicalSize;

// 当前系统默认的语言Locale

Locale get locale;

// 当前系统字体缩放比例。

double get textScaleFactor => _textScaleFactor;

// 当绘制区域大小改变回调

VoidCallback get onMetricsChanged => _onMetricsChanged;

// Locale发生变化回调

VoidCallback get onLocaleChanged => _onLocaleChanged;

// 系统字体缩放变化回调

VoidCallback get onTextScaleFactorChanged => _onTextScaleFactorChanged;

// 绘制前回调,一般会受显示器的垂直同步信号VSync驱动,当屏幕刷新时就会被调用

FrameCallback get onBeginFrame => _onBeginFrame;

// 绘制回调

VoidCallback get onDrawFrame => _onDrawFrame;

// 点击或指针事件回调

PointerDataPacketCallback get onPointerDataPacket =>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值