android 自定dialog,其中textview卡頓現象

今天自定義了一個dialog,來實現像系統的progressDialog的功能,佈局什麼都是小case了,會android的都會,那麼現在就來說說遇到的這個卡頓現象。 因爲這個dialog是用來顯示下載的進度,並且顯示時時的下載字節數,所以每次下載後,都會去更新textview的值,因爲下載都是在子線程中執行的,所以更新textview只有採用handler或者runOnThread的方式去更新,這裏我採用的是handler的post的方式去更新的,但是發現每次更新的時候,textview都會卡一會纔會分更新,並且連progressBar也是卡頓一會兒,如果把textview關閉了,或者不更新textview,那麼progresbar顯示的進度都正常了。

問題猜測:可能是因爲更新的速度非常快,而我採用的是handler的post的方式,那麼是不是setProgress的時候,都會在handler的queue隊列中添加一條數據,這樣就會導致每次最新的數據都不能及時的更新到textview中去。

解決方法:在每次更新textview或者更新dialog界面所需要更新的數據後,就把handler queue隊列中的數據都全部移除,那麼下次進來的時候就會採用到最新的數據到dialog的界面上了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章