Мое приложение использует StringBuilder для сборки абзацев текста, которые затем отображаются в TextView в ScrollView.
Файл макета displaytext.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/display_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
>
</TextView>
</ScrollView>
</LinearLayout>
и кодэто отображает объект StringBuilder sbText
setContentView(R.layout.displaytext);
TextView tv = (TextView)findViewById(R.id.display_text);
tv.setText(Html.fromHtml(sbText.toString()));
Это работает хорошо, за исключением того, что это становится очень медленным, поскольку объем текста увеличивается.Например, для отображения 50 абзацев общим объемом около 50 КБ текста требуется более 5 секунд, чтобы выполнить эти три строки кода.
Кто-нибудь может подсказать, как я могу ускорить это, пожалуйста?