IT之家 1 月 29 日消息,谷歌日前为安卓原生 UI 工具包 Jetpack Compose 推出了 1.6 版本,该版本主要改进了性能表现,据称在“页面滚动性能”和“启动速度”方面有明显提升,此外谷歌还为 Compose 编译器引入了一项“稳定”标记,并在字体方面也有所改进。
IT之家注意到,研究人员改进了 Jetpack Composed 的内存分配和延迟初始化能力,从而为 Compose 编译器的所有 API 提供了有效性能提升,用户可以在“文字”、“可点击元素”、“延迟加载列表”等 API 等看到肉眼可见的性能改进。
官方声称,Jetpack Compose 1.6 的性能得到了全面提升,号称“页面滚动性能增加了 20%。启动时间缩短了约 12%”,允许用户更流畅地进行开发工作。
此外,谷歌还为 Compose 编译器添加了一个名为“稳定”的标注选项,允许用户将任意类、库标记为“稳定”,号称能够在不牺牲开发者灵活性的前提下,让 Compose 编译器通过标记智能判断 UI 何时需要重新组合(自动刷新),从而提升应用程序性能。
谷歌同时表示,Compose 编译器插件生成的代码也得到了改进。由于 Compose 编译器会跟踪 Compose 的状态对象,以判断在状态值发生变化时,哪些项目需要被重新组合。
不过谷歌提到,上述内容中许多状态值仅会被读取一次,甚至部分状态值从未被读取,但仍然会被频繁跟踪重组,因此造成了性能损耗。因此谷歌引入了一项名为内在记忆(Intrinsic Remember)的功能,号称能够记录状态对象的 remember 函数,从而仅重组“该重组的项目”,避免不必要的重新渲染过程。
除了性能方面的更新外,谷歌还改善了 Jetpack Compose 的默认字体填充能力,默认关闭过时的 includeFontPadding 字间距属性,从而令文字布局“更符合设计规范”。
▲ 图源 谷歌官方新闻稿(下同)
该 UI 工具包还支持了非线性字体缩放,以提升文本可读性和可访问性;并引入了平台级拖放能力,允许用户将文件内容从一个应用拖到另一个应用,有点类似锤子的 OneStep 和荣耀的任意门功能。