Compose 运行时中的 `isLiveLiteralsEnabled` 函数是什么以及如何禁用它的使用?

问题描述 投票:0回答:2

我正在使用 Jetpack Compose 开发一个应用程序。

该应用程序的算法部分运行缓慢,因此我开始分析该应用程序。

根据探查器,消耗大部分时间的函数是

isLiveLiteralsEnabled()
,它是 Compose 运行时的一部分。这会在最无害的地方被调用,例如嵌套循环内的整数加法。

据我了解,compose 编译器插件出于某种原因正在对代码进行检测。

这是什么原因呢?我该如何禁用/解决它?

android kotlin optimization android-jetpack-compose
2个回答
2
投票

您可以通过单击 android studio 中右下角的图标来禁用这些功能。

[![在此处输入图像描述][1]][1]


1
投票

deaddroid
的回答很中肯,所以我接受了。

在等待答案时,我做了一个解决方法,我在这里分享,以防有人不想记得关闭

Live literals
设置,就像我一样。

我将所有性能关键的代码片段移至一个单独的模块(纯 Java/Kotlin 库)中。由于此模块中未启用 compose 插件,因此未对其进行检测。我的代码性能提高了 10 倍!

© www.soinside.com 2019 - 2024. All rights reserved.