关于android:在asynctask中加载视图

loading views in asynctask

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

我尝试实现asynctask来执行视图加载,但是出现错误。
Android文档指出,我不应该在UI线程之外设置视图。
但这不是说我不能。

如何实现一个加载视图的加载屏幕。删除视图不是一种选择,因为应用程序是绘图应用程序,需要这些视图才能快速选择工具。

或者我应该在调用对话框关闭之前在onPostExecute()中设置所有视图。但这仍然会冻结UI线程。而且我将处于同一位置。

我尚未在设备中进行测试,但是我知道UI线程是否被阻止超过5秒钟,它显示了应用程序无响应对话框。我想防止它。

我的目标是SDK10。此外,当它在实际设备上运行时,这将花费相同的时间。该应用程序适用于三星银河笔记,非常活泼。

P.S。我的互联网仍然距离3天还差。我正在使用移动客户端,并使用脱机SDK文档。


直接从文档开始:

"在任何视图上调用任何方法时,您必须始终在UI线程上。如果您正在其他线程上工作,并且想要从该线程更新视图的状态,则应使用处理程序。"

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

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

"正在加载"屏幕:

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