TextView.setText()具有很长的字符串块UI线程

时间:2013-06-24 17:41:25

标签: android textview

TextView设置文本需要多长时间?我试图设置一个非常长的字符串,它最终会阻止UI线程2-3秒,因为这样。由于我无法从不同的线程访问TextView,所以我完全难过了。

编辑: 目前,我在AsyncTask doInBackground()中构建字符串,而在onPostExecute(在uiThread上运行)中调用TextView.setText()TextView放在ScrollView中

2 个答案:

答案 0 :(得分:3)

即使是几个屏幕上的信息,您也不会遇到问题。如果字符串超长,您可以考虑延迟加载部分内容。

答案 1 :(得分:-1)

  

由于我无法从其他线程访问TextView,

您可以使用其他Thread并仍然可以访问TextView。如果不知道您的代码,很难给出一个很好的例子,但您可以使用runOnUiThread

您可以使用AsyncTask。这样做,您可以在doInBackground()中执行您需要的任何操作,并在onPostExecute()

中设置文字

虽然,我不确定您的字符串需要多长时间才能加载。如果你要做很多工作来将字符串放在一起,那么我建议使用AsyncTask