setContentView 需要很长时间(10-15 秒)执行

2024-02-25

我有一个包含 100 个或更多按钮的大型活动。但加载后就可以正常工作了。然而问题是加载。从单击其启动图标到获得第一个视图需要 10-12 秒。直到第一次查看时,它显示黑色背景的灰色标题栏。

至少,我想在加载时显示一个简单的进度条或对话框。但在 setContentView 执行之前似乎无法显示任何内容。我想我已经尽了一切努力,但没有成功。如果您能给我任何提示或想法,我将不胜感激。

UPDATE:

我找到了一个戏剧性的解决方案。现在需要一秒钟来加载视图。我根本没有使用启动、线程或异步任务 - 顺便说一句,不要尝试在 UI 上使用线程或异步,因为 Android UI 不是线程安全的。问题是这些按钮基于需要初始化才能加载相同资源的自定义类。 - 因此 setContentView 上发生了 100 个或更多文件操作。让它们成为一个单一的加载解决了我的问题。


您正在同一个 UI 线程上加载数据,因此加载期间不会显示任何内容。 使用异步任务 http://developer.android.com/reference/android/os/AsyncTask.html用于在单独的线程中加载。

1)显示进度条onPreExecute()2)加载数据doInBackground()。这里没有 UI 相关的东西 3)更新UI上的更改,隐藏进度条onPostExecute()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setContentView 需要很长时间(10-15 秒)执行 的相关文章

随机推荐