# Futter入门到精通

​ 一切皆widget,widget是UI绘制的原子单元。

文笔不行写不出高深的理论,只能借鉴引用高人的高论了,下面文章的一些连接来自一些国内/外高人的原创或者翻译文章。站在巨人的肩上,就是的是把别人的知识变成自己的。

# App生命周期

  1. resumed 进入app,即app获得焦点时触发

  2. inactive 非活动状态,例如被其它程序打断的情况下触发,可以按返回键重新打开应用的状态

  3. paused 暂停状态,程序被切换到后台,需要主动切换程序,返回键无效的情况

  4. suspending 按照官网解释理解不了与paused的区别

下面文章可以帮助理解:

  • App生命周期由哪些状态:https://api.flutter.dev/flutter/dart-ui/AppLifecycleState-class.html
  • App生命周期测试用例:https://github.com/flutter/flutter/blob/master/examples/layers/services/lifecycle.dart

# Widget生命周期

​ 此生命周期比较多,理解几个常用的,剩下的用到再理解:

除非State<T>.mounted==true,否则不应该调用setState方法,因为state还没有被创建到状态树上,在initState中加载数据时要判断该属性值。

  1. createState 创建State<T>实例
  2. initState 这里经常会执行一些初始化操作,比如加载数据
  3. build 绘制widget ,通过setState触发build的重新执行
  4. dispose 销毁,这里执行一些页面退出时的销毁工作

下面时一些参考文章:

  • https://api.flutter.dev/flutter/widgets/State-class.html
  • https://www.jianshu.com/p/05af657c13b0
  • https://juejin.im/post/5d1209e6e51d454d56535822
  • https://segmentfault.com/a/1190000015211309

# Widget教程

基础篇看这个就够了:

​ https://book.flutterchina.club/chapter3/

高级教程):

​ https://juejin.im/post/5d1af0aee51d454fbf540a52