# Futter入门到精通
一切皆widget,widget是UI绘制的原子单元。
文笔不行写不出高深的理论,只能借鉴引用高人的高论了,下面文章的一些连接来自一些国内/外高人的原创或者翻译文章。所谓站在巨人的肩上,就是的是把别人的知识变成自己的。
# App生命周期
- resumed 进入app,即app获得焦点时触发
- inactive 非活动状态,例如被其它程序打断的情况下触发,可以按返回键重新打开应用的状态
- paused 暂停状态,程序被切换到后台,需要主动切换程序,返回键无效的情况
- 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.mounted==true,否则不应该调用setState方法,因为state还没有被创建到状态树上,通常在initState中加载数据时要判断该属性值。
- createState 创建State实例
- initState 这里经常会执行一些初始化操作,比如加载数据
- build 绘制widget ,通过setState触发build的重新执行
- 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