简介
Jetpack Compose:利用声明式编程构建Android原生界面(UI)的 工具包
优势
代码更少,大大减少了代码量、强大的工具/组件支持、直观的Kotlin API、易于使用
编程思想
声明性编程范例:声明性函数在不修改任何XML布局或使用布局编辑器的情况下构建一个简单的接口组件。您只需要调用Jetpack Compose函数来声明所需的元素,Compose编译器就会这样做所有工作
Compose可以通过并行运行可组合函数来优化重组,这样Compose就可以利用多个核心并以较低的优先级运行可组合函数(不在屏幕上)这种优化意味着可组合函数可以在后台线程池中执行。如果可组合函数调用ViewModel上的函数,则Compose可以同时从多个线程调用该函数调用可组合函数时,调用可能发生在与调用方不同的线程上,这意味着您应该避免使用修改可组合lambda中变量的代码,这既是因为此类代码不是线程安全的代码,也是因为它是可组合lambda不允许的副作用重组将跳过尽可能多的可组合函数和lambda重组是一项乐观的行动,可能会被取消可组合函数的运行频率可能与动画的每一帧相同
环境
Gradle Compose相关依赖
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview: