サービスを開始するListActivityがあります。このサービスでは、最大800件の連絡先のデータベースクエリを実行するスレッドを開始しましたが、これは遅くなったり、UIをハングアップすることがあります。代わりにAsyncTaskを使用する必要がありますか?これを処理する適切な方法は何ですか?Androidサービス、スレッド、UI
1
A
答えて
1
通常、サービスはUIスレッドで実行されています。 しかし、サービスでスレッドを使用しているということは、作業がバックグラウンドで実行されていることを意味するため、UIスレッドをブロックする可能性はありません。
私はあなたが更新UI用のスレッドからいくつかのコードを書き、UIがブロックされている可能性があると思います。
サービスを開始してスレッドを使用して更新する代わりに、AsyncTask
を使用することができます。これは、asynctaskがバックグラウンドスレッドと同じことをするためです。
+0
現在、私は、AsyncTaskの制限が20なので、作成されたスレッドを絞っていますが、ヘッドアップに感謝します! – Maurice
0
あなたのリストの連絡先を増分ロードしてみてください。あまりにも多くのデータを照会すると、もちろんスレッドが遅くなります。
関連する問題
- 1. AndroidサービスとUIスレッド
- 2. AndroidスレッドとUI
- 3. Androidサービスとスレッド
- 4. UIスレッドのAndroid MediaPlayer
- 5. Android TCPクライアント&UIスレッド
- 6. AndroidのUIスレッドと子スレッドの通信
- 7. AndroidデータベースonUpgradeブロッキングUIスレッド
- 8. スレッドがフリーズするUI - Android
- 9. ZygoteとAndroidのUIスレッドの関係
- 10. UIスレッドを使用したAndroid RMI
- 11. UIとロジック用に別々のスレッド - Android
- 12. Android Instrumentation Testing - UIスレッドの問題
- 13. Android AsyncTaskはUIスレッドをブロックします
- 14. Android onHandleIntent IntentServiceがUIを待つスレッド
- 15. UIスレッド
- 16. Androidスレッド/サービスに関する質問
- 17. 戦略パターンとAndroidサービス/ UIメッセージ通信
- 18. Android bluetooth:UIスレッドから開始されたスレッドはUIスレッドをブロックします
- 19. Android JNI - C++のAndroid UIスレッドのコール機能
- 20. スレッド内のサービスとサービス内のスレッド
- 21. スレッドの問題 - Webサービスが終了する前のUIのアップデート
- 22. メインUIスレッドをサービスから呼び出す方法
- 23. スレッド対AsyncTask対UIとの対話のサービス
- 24. バックグラウンドスレッドとUIスレッド
- 25. スレッドのUIコンテナ?
- 26. AsyncTaskブロックUIスレッド
- 27. 非UIスレッド
- 28. スレッドC#UI
- 29. ChromeのワーカーブロッキングUIスレッド
- 30. MFCスレッドのヘルプUI
追加するだけで、アクティビティビューが更新されたときに少し遅れるのが普通ですか? – Maurice