我应该在主应用程序进程中对ContentResolver运行大型查询吗?

时间:2016-09-15 17:24:23

标签: android sqlite android-contentprovider android-contentresolver android-syncadapter

我目前需要在ContentProvider / SQLite数据库的SyncService数据库之上构建SyncAdapter,该数据库在与我的应用程序不同的进程中运行。 SyncService对某些数据进行了一些小查询和更新。我想我可以使用ContentProvider(通过getContentResolver()访问)来访问/更新我的主应用程序中的数据,而不是直接查询提供程序构建在SQL数据库之上

最近,我在我的TransactionTooLargeExceptions SyncAdapter中一直受到(:sync process)的困扰 - 尽管它只是对数据库进行小查询/更新。但是,我在我的应用程序(主进程)中使用ContentProvider进行了更大的查询。这可能是SyncAdapter中缓冲区过大的原因吗?两个进程是否共享相同的ContentProvider,因此共享相同的事务缓冲区?

如果是这种情况,那么在主申请流程中不使用ContentProvider是明智的,对吗?如果不是这样的话 - 在主应用程序中使用ContentProvider的优缺点是什么?

0 个答案:

没有答案