2010-12-01 4 views
0

음,이 프로젝트에 대한 약간의 역사를 제공합니다. 하위 스레드에서 약 100k 인 문자열을 파싱하고 Html.fromHtml()에서 Spanned 개체를 반환합니다. .TextView (setText)로 대용량 스팬 개체 처리

주 스레드로 돌아갈 때 문제가 발생합니다. 다른 스레드에서 방금 만든 스팬드를 사용하여 setText를 시도하면 스팬 된 개체에서 표시 가능한 형식 (setText)으로 처리하는 데 오랜 시간이 걸립니다.

나는 이것을 보통 자식 스레드에서 처리하지만 불행히도 이것은 UI와 관련되어 있기 때문에 기본 스레드에 있어야합니다. 그래서, 내 질문은 스팬 스레드를 처리 한 메인 스레드가 자식 스레드가 완료된 후 처리하는 데 많은 시간을 소비하지 않도록 setText에서 쉽게 해석 할 수있는 방법이 있는지 여부입니다.

testQuestionsExplanations.setText(spannedExplanationsObj); 

가장 큰 문제는 메인 스레드가이 작업을 잠급니다.

답변

1

문제가 해결되었습니다.

Spanned 개체 전체를 보내고 TextView로 처리하는 대신 작은 조각을 보내고 TextView에 추가하는 것입니다.

이렇게하면 내 ProgressDialog가 완전히 잠기지 않습니다. 움직이지 않지만 전혀 움직이지 않는 것보다 낫습니다.