AsyncTaskから常にSQLiteDatabaseにアクセスする必要がありますか、それとも良い習慣ですか?
UIスレッドから実行しても問題はないようで、実装ははるかに簡単です。
AsyncTaskから常にSQLiteDatabaseにアクセスする必要がありますか、それとも良い習慣ですか?
UIスレッドから実行しても問題はないようで、実装ははるかに簡単です。
メインアプリケーションスレッドからIOを実行しないことをお勧めしますが、を使用して実行する必要はありませんAsyncTask
。
メインスレッドから抜け出すための他のオプションもあります。その中には、Loader Framework、IntentService、Executorsなどがあります。
それは良い習慣です。データベース操作は必ずしも高速ではないため、Androidでは、すべてのデータベース操作とネットワーク操作をバックグラウンドスレッド(AsyncTask、Runnableなど)で実行することをお勧めします。
いいえ、常に別のスレッドでデータベースにアクセスする必要はありません。所要時間によって異なります。通常、読み取り/書き込みは高速で、UIの速度を低下させず、別のスレッドを必要としません。ただし、クリーンアップなどの長い操作を実行する場合は、そうです。別のスレッドで実行することをお勧めします。