【问题标题】:Android app behave abnormal while fetching dataAndroid 应用程序在获取数据时表现异常
【发布时间】:2021-03-30 13:48:31
【问题描述】:

在我的 android 应用程序中,我看到每当我第一次打开它时,它就会从Firebase 加载数据但同时如果我导航到我的BottomNavigationBar 或尝试更改活动或片段,即使是我在检索数据时显示的progressBar 也会像 2G 互联网连接中的电影一样卡住一小会儿。我真的不喜欢这种行为而且我认为它会减少我的应用程序的用户数量。我不知道这个场景背后的确切原因但是 也许 logcat 中的这一行喊出了那个原因

应用程序可能在其主线程上做了太多工作。

我想知道原因和解决方法。我听说过AsyncTask,但我不知道是不是。

【问题讨论】:

    标签: android cold-start


    【解决方案1】:

    你正在做你主线程的繁重工作。这就是您的应用程序被冻结的原因。网络是一项非常繁重的工作,因此您必须在单独的线程上执行它。这就是您查看日志The application may be doing too much work on its main thread 的原因。异步任务是旧的解决方案,但您可以使用它。您可以改用 executors 。但是您可以将 retrofit2 用于网络请求,因为它们在内部处理线程安全。如果你使用 Kotlin,你可以使用 Coroutines。

    【讨论】:

    • 嘿,伙计,是的,你是对的。这就是我需要的正确单词/主题的协程。非常感谢你,先生。悬崖❤我会照亮你的名字。
    • 我的荣幸先生。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多