4

Androidサンプルプロジェクト、Steeleの2部構成のチュートリアル(12)、およびRESTアプリケーションに関するGoogle I / O 2010トークを使用して、SyncAdapterをセットアップしました。

AbstractThreadedSyncAdapterは、onPerformSyncが完了した直後に、常にSyncAdapterサービスでonDestroyを呼び出すようです。SyncAdapterサービスから他のスレッドをスピンオフしたいのですが、それらのスレッドが完了するまでSyncAdapterサービスを存続させることができるかどうか疑問に思います。たとえば、これらの非同期ワーカースレッドからのコールバックをSyncAdapterサービスに登録します。 。

onPerformSyncの後にサービスを強制終了せずにそれを行うことは可能ですか?または、すべての同期メソッドをSyncAdapter onPerformSyncメソッド内の同じスレッドに配置する必要がありますか?

4

1 に答える 1

4

答えは「ノー」だと確信しています...しかし、それが可能だったとしても、なぜとにかくこれをしたいのですか?はSyncAdapterすでにバックグラウンドスレッドで機能します...SyncAdapterでは、同期を実行するためにサービス内で個別のワーカースレッドを起動する必要があるのはなぜですか?

SyncAdapterこれを達成するためにコールバックを登録したり、のライフサイクルをいじったりしようとすると、物事が混乱し始めると思います。Androidの同期サービスは、任意の数のアプリ(Gmail、Googleドライブなど)の同期操作のスケジュール/実行を担当します。したがって、onPerformSync終了すると、作業が完全に完了し、それに焦点を当てる必要があることをAndroidに通知する方法になります。次のアプリは同期する必要があります。

于 2012-10-07T16:45:34.787 に答える