什么是在Android中加载的活动的布局?

时间:2012-05-09 10:40:12

标签: android android-layout

这是我的活动(摘录):

setContentView(R.layout.main)
//Some Time consuming code


如您所见,耗时的代码放在setcontentview之后。此活动需要花费大量时间才能加载。确认我删除了耗时的代码并且活动显示得非常快。我的问题是我只在setContentView布局后进行耗时的工作,那么为什么花费这么多时间来显示至少布局

3 个答案:

答案 0 :(得分:4)

该应用程序在单线程UI线程上运行。在完成其他所有操作之前,它无法显示视图。

您需要使用AsyncTask或线程来处理任何耗时的代码。看看这个:http://developer.android.com/resources/articles/painless-threading.html

答案 1 :(得分:2)

每次消费任务都应该在非UI线程中完成。考虑使用AsyncTask。 要回答您的问题,只有在整个onCreate方法完成后才会显示活动。所以它设置了它的内容视图,然后它执行onCreate方法的reste(你耗时的代码),然后显示。

有关您的信息,请参阅AsyncTask的文档:http://developer.android.com/reference/android/os/AsyncTask.html

答案 2 :(得分:1)

您应该在onResume()方法中完成所有耗时的工作。然后可能需要更少的时间来完成onCreate()方法,您的布局将加载更快。