Why Jetpack
臃肿且存在兼容性问题的support库——>Jetpack组件库
1.减少重复代码:Jetpack组件库提供了100+组件能力
2.应用架构、分层更清晰:Jetpack推崇MVVM架构设计
3.稳定性提升:Jetpack生命周期自感知的能力,显著降低App日常异常率、提升应用效能
Why Compose
Compose:谷歌在2019年推出的新一代声明式UI(数据驱动UI更新)编程框架,为了抛弃传统的xml文件搭建页面布局结构的做法,提升开发效率和运行时性能
1.更简单的UI开发:Compose声明式UI编写方式,更轻松实现复杂UI布局和动画效果
2.更高的效率和性能:Compose组件化和一次性测量设计(提升页面渲染的效率和性能),实现更高性能表现的程序
基于View体系的UI在测量阶段会出现多次测量的情况,而测量很耗时,使得UI渲染变慢
3.更好的可维护性:Compose数据驱动UI的设计,降低代码复杂性,提高其可维护性
Why Coroutine(协程)
1.降低异步并发任务设计复杂度:可用同步的方式获取异步任务的结果,远离嵌套回调
2.Jetpack高度集成:许多Jetpack库都提供了协程的扩展,某些库还提供自己的协程作用域,可用于基于生命周期自感知的结构化并发
3.轻量级任务调度:单个线程上运行多个协程,协程支持挂起,不会让正在运行协程的线程阻塞。挂起比阻塞节省内存,且支持多个并行操作