【问题标题】:App made with JetPack Compose is hanging beyond expectation使用 JetPack Compose 制作的应用程序悬而未决
【发布时间】:2021-11-26 06:18:14
【问题描述】:

我是 JetPack Compose 的新手。我正在学习 Compose 并关注 https://developer.android.com/jetpack/compose/tutorial


但是当我在我的 android 设备上运行该应用程序时,该应用程序非常慢。 扩展长消息和更改消息颜色等简单的事情需要花费大量时间。

我搜索了这个问题,发现:

  1. https://www.reddit.com/r/androiddev/comments/oatiur/why_simple_app_with_jetpack_compose_is_5x_times/
  2. https://github.com/android/compose-samples/issues/21
  3. https://jetc.dev/slack/2021-03-14-why-so-slow.html
  4. Jetpack Compose Performance Issue that only occurs in multi module project


但这些都对我没有帮助。

如有混淆,请在cmets中告知。

【问题讨论】:

    标签: android kotlin android-jetpack-compose android-jetpack


    【解决方案1】:

    我也经历过同样的事情。目前正在发生的事情是:-

    1.) 应用启动有点慢
    2.) 应用启动时出现故障

    好消息是:-

    1.) 故障只发生在您运行动画的前几次,
    2.) 破坏其中一个元素后,故障似乎从每个元素中消失。

    当然,坏消息是,您必须在每次启动时重复上述步骤。我听说运行生产版本而不是调试变体可以显着提高性能。到目前为止,您对此无能为力。它只会随着 Compose 的发展而进入。您也可以查看官方 Compose Samples。它们和你的应用程序一样出问题。

    此时你真正能做的就是等待。

    根据以下评论进行编辑:-

    1.) 在您破坏其中一个元素后,故障似乎从每个元素中消失。,我的意思是,如果您有很多动画内容,比如两个LazyColumn s 和其他一些,然后在来回滑动列几次(将其插入)后,其他列以及动画内容的延迟将消失。 Element 表示屏幕的元素,因此单独的 LazyColumns 是每个元素。

    2.) 要获得生产版本,您只需单击工作室屏幕左边缘的release 选项卡,然后从下拉列表中选择release 而不是debug。我用“生产”代替了“发布”,但你看到的是一回事。

    【讨论】:

    • 你的意思是什么 -- 在你破坏其中一个元素后,故障似乎从每个元素中消失了。
    • 如何获得生产版本。我有最新版本的android studio
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2022-07-17
    • 2022-11-28
    • 2021-11-12
    相关资源
    最近更新 更多