Facebookからいくつかのページを検索して、それらの写真をダウンロードしています。リストですぐに表示し、新しい画像をダウンロードするたびにアダプタを更新したいと思います。他の1つのアクティビティで同じメソッドを使用していて、それは機能しますが、ここではダイアログを使用しており、バックグラウンドで実行している場合でも、すべてが完了するまでUIをフリーズします。なぜ?
private synchronized void getUserLikesImages() {AsyncTask<Void, Void, Bitmap> task = new AsyncTask<Void, Void, Bitmap>() {
@Override
public Bitmap doInBackground(Void... params) {
for(...){
//download one picture...
FacebookeventsActivity.this.runOnUiThread(new Runnable() {
public void run() {
pagesILikeArrayAdapter.notifyDataSetChanged();
}
});
}
};
task.execute();
}
動作しますが、操作が終了するまでUIがフリーズします...リストがダイアログにあり、UIThreadで実行しているためかもしれませんが、修正方法がわかりません。