gpt4 book ai didi

android - 在异步任务中加载 View

转载 作者:行者123 更新时间:2023-11-30 04:12:52 27 4
gpt4 key购买 nike

我的应用程序中有很多 View ,这在启动期间会花费很多时间。我正在使用模拟器,显示屏幕大约需要 15 秒。之后应用运行良好。

我尝试实现异步任务来加载 View ,但出现错误。Android 文档指出我不应该在 UI 线程之外设置 View 。但它没有说,我不能。

如何实现加载 View 的加载屏幕。删除 View 不是一种选择,因为应用程序正在绘制应用程序并且需要这些 View 来快速选择工具。

或者我应该在 onPostExecute() 中设置所有 View ,然后再调用对话框关闭。但这仍然会暂时卡住 UI 线程。我将处于相同的位置。

我没有在设备上测试过,但我知道如果 UI 线程被阻塞超过 5 秒,它会显示应用程序未响应对话框。我想阻止它。

我的目标是 SDK 10。此外,它在实际设备上运行时是否需要相同的时间。 Samsung galaxy note 应用程序,非常活泼。

附言我的互联网从 3 天开始仍处于下降状态。我正在使用我的移动客户端并引用离线 SDK 文档。

最佳答案

直接来自文档:

“在任何 View 上调用任何方法时,您必须始终在 UI 线程上。如果您正在其他线程上工作并希望从该线程更新 View 的状态,您应该使用处理程序。”

您的 View 逻辑必须在 UI 线程上。

http://developer.android.com/reference/android/view/View.html

至于“加载”屏幕:

尝试分离出与 View 无关的逻辑,如果可以的话,在后台线程中执行。您可以使用 AsyncTask 更新进度条。当您想要更新进度时,覆盖 onProgressUpdate() 并从您的 doInBackground() 调用 publishProgress()。或者您可以只使用不确定的进度。由你决定。

关于android - 在异步任务中加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com