0

context.startService() 呼び出しは、送信されたのと同じ順序でサービスによって取得されることが保証されていますか?

アクティビティで考慮する:

Intent intent;

intent = new Intent(MyIntents.ADD_BATCH_ACTION);
intent.putExtra(MyIntents.BATCH_ACTION_NAME, "Bake donuts");
startService(intent);

intent = new Intent(MyIntents.ADD_BATCH_ACTION);
intent.putExtra(MyIntents.BATCH_ACTION_NAME, "Make a coffee");
startService(intent);

intent = new Intent(MyIntents.ADD_BATCH_ACTION);
intent.putExtra(MyIntents.BATCH_ACTION_NAME, "Fetch coffee and donut to room 12");
startService(intent);

startService(new Intent(MyIntents.FLUSH_ADDED_ACTIONS));

一部のアクションは多くの一般的な作業を行うことができます。それらがバッチで実行されることが確実であれば、サービスを最適化できます。

service onStartCommand が同じ順序で実行されると仮定できますか?

よろしく、 トメック

4

1 に答える 1

1

context.startService() 呼び出しは、送信されたのと同じ順序でサービスによって取得されることが保証されていますか?

それらはたまたま順番に発生すると思いますが、これは文書化された動作ではないため、私はそれを当てにしません。

一部のアクションは多くの一般的な作業を行うことができます。それらがバッチで実行されることが確実であれば、サービスを最適化できます。

startService()次に、すべてを「バッチ」にして、1回だけ呼び出します。インテント エクストラは多くの型の配列をサポートしているため、1 つだけではなく、エクストラの配列をパッケージ化してみてください。

于 2012-04-05T14:51:17.927 に答える