Jetpack Compose概述

所属分类:Android | 发布于 2023-04-30 16:35:16

作为Jetpack工具库的一部分,Compose可以十分方便的与LiveData、ViewModel、Paging等工具一起整合,从而提高编码效率。

Compose也提供了Material Design组件和主题的实现,同时还有简明的动画API可以让应用更加灵动,体验更好。

Compose首先会生成整个屏幕,然后仅仅执行必要的更改。它是将State状态转换成UI界面。并且会智能地跳过那些数据没有发现改变的控件,重新生成已经发生改变的控件,这一过程称之为重组(recomposition)。此外,Compose布局模型不允许多次测量,最多进行两次测量就可以算出各组件的尺寸。

Compose的核心是@Composable可组合函数,在一个函数上方添加@Composable注解,这个函数就变成可组合函数,可组合函数只能在其他的可组合函数的内部调用。

Compose的核心内容就是相应state状态的改变。Compose通过调用Composable函数可以将data数据展示在UI上,Compose本身也提供了工具去观察data数据的变化,从而可以自动地回调展示UI,这一过程称之为重组。

几个小提示

1、Composable函数可以按任何顺序执行

如果一个Composable函数中包含有几个Composable函数,那么这些Composable函数可能按任何顺序运行,Composable也会识别出哪些界面元素的优先级高,从而优先绘制这些元素。

2、Composable函数可以并行运行

Compose可以通过并行运行Composable函数来优化重组。Compose可以利用多个核心,以较低的优先级运行Composable函数,因此,Composable函数可能会在后台线程池中执行。调用某个Composable函数时,调用可能发生在与调用方不同的线程中。

3、重组会跳过尽可能多的内容

Compose会尽力只重组需要更新的部分,每个Composable函数和lambda又可能自行重组更新。Compose若在一次重组时发现参数又更新了,则会取消当前的重组,并用新参数重新开始。

官方推荐将Composable函数写在顶级函数,方便以后调用。

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接