更新时期 didChangeDependencies 、build 、didUpdateWidget
销毁时期 deactivate 和 dispose
-
initState 创建之初调用一次 类似于onCreate
-
didChangeDependencies 在initState之后调用,可以在这个方法中跨组件拿到数据
-
build 创建Widget的地方,在离开和回到页面的时候都会调用
-
didUpdateWidget 当组件的状态改变的时候就会调用,比如调用-了setState
-
deactivate 在离开和回到页面的时候都会调用
-
dispose 销毁的时候调用
三棵树 (Widget Element RenderObject)
Flutter 的渲染流程
runApp(rootWidget),将rootWidget传给rootElement,做为rootElement的子节点,生成Element树,由Element树生成Render树
Widget:存放渲染内容、视图布局信息,widget的属性
Element:存放上下文,通过Element遍历视图树,Element同时持有Widget和RenderObject
RenderObject:根据Widget的布局属性进行layout,paint Widget传入的内容
线程和异步
- Dart是单线程模型,没有线程的概念,只有isolate,每个isolate都是隔离的,并不会共享内存。
而一个Dart程序是在Main isolate的main函数开始 而在Main函数结束后,Main isolate线程开始一个一个(one by on e)的开始处理Event Queue中的每一个Event
-
Dart事件循环机制是由一个 消息循环(Event looper) 和两个消息队列:事件队列(Event queue) 和 微任务队列(Micro Task queue) 构成
-
消息循环的处理机制为
1是否有微任务队列,如果有微任务,处理微任务,走2。如果没有微任务,走3
2 微任务处理完成后,回来走1
3 是否有事件队列,如果有事件队列,处理事件,走4。如果没有事件,走5
4 事件处理完成之后,回来走1
5 程序正常exit
https://www.didierboelens.com/2019/01/futures-isolates-event-loop
https://medium.com/dartlang/dart-asynchronous-programming-isolates-and-event-loops-bffc3e296a6
状态管理
-
1 状态管理的目的就是为了让界面与业务分离,界面根据state来显示
-
2 下图是一个多页面共享,维护困难,逻辑混乱的页面状态
-
3 StatefulWidget Flutter默认的状态管理
-
4 InheritedWidget
主要作用在widget树种传递信息
- 5 Provider
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
架构师筑基包括哪些内容
我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容
注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!
这份资料就包含了所有Android初级架构师所需的所有知识!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
-1712509121951)]
[外链图片转存中…(img-ij0CRGch-1712509121952)]
这份资料就包含了所有Android初级架构师所需的所有知识!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!