2

DrupalServicesモジュールへの非同期呼び出しを処理するIntentServiceがあります。現在、onHandleIntentでDrupalXmlRpcServiceオブジェクトを毎回初期化しています。これは、スレッドの終了後にサービスが強制終了されるという印象を受けたためです。このオブジェクトは、IntentServiceオブジェクトのコンストラクターで初期化する必要がありますか?

4

1 に答える 1

1

オブジェクトのDrupalXmlRpcService作成にコストがかかり、頻繁に使用する場合は、参照をグローバルApplicationオブジェクトに保存するか、シングルトンにすることを検討してください (スレッド セーフであることを確認してください)。あなたの質問については、同じサービスに複数のインテントを送信すると、handleIntent()複数回呼び出される可能性があるため、コンストラクターで初期化する必要がある場合があります (ただし、時間がかかりすぎるとメインスレッドがブロックされる可能性があります)。

于 2011-09-16T02:43:36.727 に答える