OGeek|极客世界-中国程序员成长平台

标题: android - Android 中的 OnResume() 是否会使 Activity 加载更快? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-9 06:18
标题: android - Android 中的 OnResume() 是否会使 Activity 加载更快?

我正在开发一个 Android 应用程序,我必须从 Android 数据库加载大量数据并在屏幕上查看。

在开发的早期阶段,我曾经在 OnCreate() 方法中从 DB 中检索数据,当数据变得庞大时,它确实减慢了 Activity 的开始。所以我在 OnResume() 方法中调用了数据检索并在屏幕上查看它,这样我的应用程序在加载时间过长时不会崩溃。 我知道在 OnResume 完成之前不会显示 Activity 。

那么在 OnResume 中调用耗时操作而不是在 OnCreate() 方法中进行所有初始化是一种好方法吗?



Best Answer-推荐答案


So is it a good approach to call time taking operations in OnResume instead of having all initialization in OnCreate() method?

不 - 您不应该在 OnCreate 或 OnResume 中执行此操作。您应该始终在工作线程中执行此操作 - 例如 AsyncTask。

任何需要很长时间才能完成的操作,如果在 UI 线程上执行,将阻塞消息队列 - 这意味着没有重新绘制 UI 小部件,用户无法点击您的应用来执行任何操作。一切都被阻止,直到您的操作完成。大约 5 秒后,Android 生成 ANR(应用程序没有响应)并终止您的应用程序。

关于android - Android 中的 OnResume() 是否会使 Activity 加载更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34470169/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://www.ogeek.cn/) Powered by Discuz! X3.4