私のアクティビティには多くの非同期タスクがあり、非同期を行うには呼び出しごとに AsyncTask をオーバーライドする必要があります。
すべての AsyncTasks を BoundService + AIDL に置き換えることはできますか、それとも AsyncTask のみで行う必要がありますか?
私のアクティビティには多くの非同期タスクがあり、非同期を行うには呼び出しごとに AsyncTask をオーバーライドする必要があります。
すべての AsyncTasks を BoundService + AIDL に置き換えることはできますか、それとも AsyncTask のみで行う必要がありますか?
サービスはバックグラウンドで実行されていますが、メイン スレッド (AKA. UI スレッド) で実行されている場合、ANR 例外が発生します。ここのAPIによると:
Service クラスに関するほとんどの混乱は、実際にはそれがそうでないものに関係しています。
サービスを使用できますが、別のスレッドで何かを実行する場合は、サービスまたはアクティビティにスレッド ロジックを実装する必要があります。
サービスはデーモン、AsyncTask はバックグラウンド スレッド