個人的なメモとして残しておきます。
androidで、非同期処理として色々とありますが、AsyncTaskは非推奨ということなので、AsyncTaskLoaderを使ってみることに。
AsyncTaskは、非推奨ということなのですが、リファレンスを見る限りは使ってもよさそうな感じなのですが・・・
androidは、APIのレベルが上がるとそれまで使っていたAPIが非推奨になったりして、ちょっと困る場合が多い。
それ以外でも色々と困った部分はあるのだけど、困った部分を適当に書いてみる。時間がある時にでも、まとめてみたい。
AsyncTaskLoaderの長所
・UIの部分をActivityに任せることができる
それくらいしか実感できない。実装は、結構大変というか面倒。
「LoaderManager」でActivityに対応したライフサイクルの管理を行う
「LoaderCallbacks」でLoaderManagerとLoaderが連携するインターフェイスを実装
「Loader」で非同期処理を行う
非同期処理の場合は、裏でなにかしら実行している場合はプログレスバーとかで何かしらの処理を行っていますよ!という表示も行わないといけない。
UI側でそれは実行することになり、裏での処理が終わったらCallbackで受け取って、プログレスバーを消さないといけない。
非同期処理については、DBにアクセスしたりファイルにアクセスするとか時間がかかる処理については実装しないといけない。
実装しなくても動くことは動くけど、処理をしているのか?アプリが止まったのか?わからないので、基本的には実装しないとダメ。
その割りには、実装するための前準備とか大変。
androidってこの辺の作業が多いように感じる。