新人成長記録12th

非同期で重たい(時間のかかる)処理をしたいことは非常に多くあります
例えば、通信中にプログレスダイアログを表示することや、重い計算や画像の処理などです

非同期処理で処理を行うには、ThreadやAsyncTaskを用います
今回はThreadについて学習していきます

また、Androidの特徴として、描画はUIスレッドで行わなければいけないため、非同期処理をしているスレッドでは、基本的に画面の描画を行うことができません

Thread

簡単な非同期処理であればTreadを利用するのがいいかと思います

単純な記述例では以下のようになります

もちろん、以下のようにimplementでメソッドを実装することも可能です

しかし、どの処理でも非同期スレッドの中では、UIスレッドの描画は行うことはできません
非同期処理の中で描画をしたいのならば、以下のようにHandlerでUIスレッドに描画するように指示を出すことです

終わりに

非同期にしたいけど、処理の中で描画などUIスレッドでしかできないことをしていて、うまいこと処理を分けられず四苦八苦したことがあります
描画と重い処理とは基本的に、分けた方がいいのではと思います
密接な関係にあるとどうしてもユーザを待たせてしまいレスポンスの悪いアプリとなりますので

次回にAsyncTaskについて書きたいと思います

火曜日担当:poppy




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム