Android 同步期间始终调用SyncService onCreate

Android 同步期间始终调用SyncService onCreate,android,performance,android-syncadapter,Android,Performance,Android Syncadapter,我刚开始开发一款Android应用程序,在同步过程中出现了一些大的性能问题。有一些低挂果实,比如重复执行insert而不是bulkInsert等等,但我也注意到日志中的以下内容: 11-25 11:46:02.630 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate() 11-25 11:46:02.630 10160-10160/my.package.name:sync D/mlt_SyncService: Bound 1

我刚开始开发一款Android应用程序,在同步过程中出现了一些大的性能问题。有一些低挂果实,比如重复执行
insert
而不是
bulkInsert
等等,但我也注意到日志中的以下内容:

11-25 11:46:02.630 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.630 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
11-25 11:46:02.660 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.660 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
11-25 11:46:02.700 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.700 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
11-25 11:46:02.720 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.720 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
11-25 11:46:02.750 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.750 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
11-25 11:46:02.780 10160-10160/my.package.name:sync D/mlt_SyncService: onCreate()
11-25 11:46:02.780 10160-10160/my.package.name:sync D/mlt_SyncService: Bound
……等等。。。 这就是所讨论的服务:

public class SyncService extends Service {

    private static final String DEBUG_TAG = "mlt_SyncService";

    private static SyncAdapter sSyncAdapter = null;
    // Object to use as a thread-safe lock
    private static final Object sSyncAdapterLock = new Object();

    @Override
    public void onCreate() {
        synchronized (sSyncAdapterLock) {
            if (sSyncAdapter == null) {
                sSyncAdapter = new SyncAdapter(getApplicationContext(), true);
            }
            Log.d(DEBUG_TAG,"onCreate()");
        }
    }

    @Override
    public IBinder onBind(Intent intent) {
        Log.d(DEBUG_TAG,"Bound");
        return sSyncAdapter.getSyncAdapterBinder();
    }
}
那里没什么特别的事。然而,新的SyncService似乎一直在实例化。我只能在清单中找到服务使用情况:

    <service
        android:name="my.package.name.sync.SyncService"
        android:exported="true"
        android:process=":sync">
        <intent-filter>
            <action android:name="android.content.SyncAdapter" />
        </intent-filter>

        <meta-data
            android:name="android.content.SyncAdapter"
            android:resource="@xml/syncadapter" />
    </service>

再说一次,没什么特别的

似乎在保存的每个实体上都实例化了
SyncService
,但是查看该代码并没有发现任何可疑之处,除了我们正在逐个
insert
而不是
bulkInsert
这一事实之外,但这是另一回事。此外,即使我输入断点并停止执行
insert
时,
onCreate()
日志流仍在继续

我想可能有一些内容观察家会在更改时触发新的同步,但这些都没有。只有一个
requestSync
调用;在
onClick
侦听器中

那么,为什么我的SyncService在同步过程中总是被实例化和绑定

谢谢你的建议