1

10秒を超える長時間の操作で受信時にサービスを開始するというAndroidチュートリアルを分析しましたが、サービスはメインスレッドから実行されていませんか?

http://developer.android.com/guide/practices/responseness.html#avoiding

サービス(http://developer.android.com/reference/android/app/Service.html

また、長時間の操作は行わないでください。それではどちらがより適切ですか?

4

1 に答える 1

1

しかし、サービスはメインスレッドから実行されていませんか?

Service(など)のライフサイクルメソッドはonStartCommand()、メインアプリケーションスレッドで呼び出されます。ただし、Serviceマニフェスト登録とは異なり、はBroadcastReceiverバックグラウンドスレッドを安全にフォークできます。これIntentServiceは自動的に行われます。そのためBroadcastReceiver、多くのシナリオでマニフェスト登録済みとペアリングするのに理想的です。

于 2012-08-15T21:08:23.277 に答える