• Flutter 低中高知识路线


    入门篇:

    App入口函数

    void main() {

    runApp(myApp());

    }

    入口app return MateriallApp()

    一个类vc功能的Widget,return Scalffold,包括appBar(导航条),body(页面内容)

    widget类接收外部调用时的参数

    使用StatelessWidget描述展现不变化页面

    使用StatefulWidget控制页面不同状态下交互

    StatefulWidget 需要多一个 State类,并在widget内重写createState(),

    State类中,

    重写initState 初始化和控制变化量,以及动画描述类Animation和AnimationControler

    重写Widget build构建页面描述,构建时,可从对应widget读取变量

    页面跳转使用Navigator.push等操作,使用Routes进行路由配置,路由可以讲Widget的创建和字符串绑定 ,这样可以push (字符串)跳转对应Widget

    常用控件Container(类似view),Row,Column (类似UIStackView),Image(自带本地和网络展示),Text(展示文本到屏幕上),RaisedButton,TextField,DatePicker,Dialog/Alert,ListView

    通过SizedBox插入元素之间,控制元素间隔

    本地存储shared_preferences

    文件存储path_provider

    With>Extends. Implements>extesion

    中级篇重要组件:

    GridView 网格列表

    自定义ListView,Cell,初始化时不指定cell container的高度,内部会自适应。

    网络请求,json转化

    定时器Timer,dispose中要销毁timer

    协议WidgetsBindingObserver(监听app生命周期resumed、inactive、pause、detached)

    Widget,State生命周期(create-initState-didChangeDependencies-build<-setState-deactivate-dispose-end

    推送-整合极光

    通知Notification

    数据共享InheritedWidget。保存依赖,局部刷新

    全局状态管理工具provider

    动画实现Animation,AnimationController,可以使用提供好的Tween具体实现、和其他内置好的动画

    PlatformView 可以嵌入不同平台的原生view

    屏幕适配:ScreenUtil

    Extension使用,扩展基础类的方法

    建立开发代码模版

    高级篇

    ListView原理及优化

    多线程

    context理解

    平台差异化解决MethodChannel

    flutter性能优化

    卡顿排查:DevTools

    避免build执行耗时操作,因为会频繁调用

    使用isolate进行cpu密集型操作

    拆分巨大的Widget,避免饭后大树,widget会享有更细粒度的重建和复用,setState时会重建Widget。

    多使用const,这样避免更新不需要变的widget组件

    可选组件不要时,使用nil。而不是Box

    ListView使用builder方法,只会绘制可见数据,即懒加载。

    长列表,使用itemExtent

    半透明效果使用图片替代、AnimatedOpacity

    RepaintBoundary分离多变和不变的图层

    Flutter 知识点汇总

    https://blog.csdn.net/sinat_17775997/article/details/106723787?spm=1001.2101.3001.6650.20&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-106723787-blog-107877470.t5_layer_eslanding_C_4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-106723787-blog-107877470.t5_layer_eslanding_C_4&utm_relevant_index=20

  • 相关阅读:
    LeetCode Hot100之十:239.滑动窗口最大值
    C Primer Plus(6) 中文版 第5章 运算符、表达式和语句 5.3 其他运算符
    电场与磁场中的物理量
    C++中的继承
    【游戏开发算法每日一记】使用随机prime算法生成错综复杂效果的迷宫(C#,C++和Unity版)
    [附源码]java毕业设计物理中考复习在线考试系统
    R语言入门
    背包问题(01背包、完全背包、多重背包)
    Leetcode 231.2的幂
    近世代数——Part1 整数和等价关系
  • 原文地址:https://blog.csdn.net/zhangbinHn/article/details/126655455