Java 数据库远程操作的服务与IntentService

Java 数据库远程操作的服务与IntentService,java,android,database,service,intentservice,Java,Android,Database,Service,Intentservice,我正在编写一个服务应用程序,它在sqlite数据库和一些客户端应用程序上执行操作,这些客户端应用程序有权通过使用AIDL接口和ServiceConnection/bindService连接到该应用程序来执行不同的操作 我关心的是并发性,因为这些操作发生的频率太高,大约为100毫秒。 我现在不需要客户端应用程序和服务之间的通信,但将来可能会很方便。 这样做的最佳选择是什么?服务、IntentService或与IntentService有类似修改的服务子类?您应该使用ContentProvider进

我正在编写一个服务应用程序,它在sqlite数据库和一些客户端应用程序上执行操作,这些客户端应用程序有权通过使用AIDL接口和ServiceConnection/bindService连接到该应用程序来执行不同的操作 我关心的是并发性,因为这些操作发生的频率太高,大约为100毫秒。 我现在不需要客户端应用程序和服务之间的通信,但将来可能会很方便。
这样做的最佳选择是什么?服务、IntentService或与IntentService有类似修改的服务子类?

您应该使用ContentProvider进行此类作业。您担心事务数据的大小,但所有组件都通过引擎盖下的AIDL与其他组件通信,因此ContentProvider对包裹大小有相同的限制,您可以通过AIDL传递给服务。在不同的API和服务上,此大小可能不同?为什么不使用自定义的
内容提供者
?因为事务数据远小于1MB。那又怎样?如果您想提供基于游标的数据(如sqlite查询/rawQuery),那么就使用ContentProvider。实际上,我对此犹豫不决。ContentProvider是否使用像AIDL/service这样的共享内存?除了事务数据大小,ContentProvider是否比服务解决方案有任何优势?顺便说一句,我从未听说服务使用任何类型的共享内存,该语句的任何链接?你能给我一个使用ContentProvider在不同应用程序之间共享数据库的例子吗?网上有大量信息。您可以尝试以下方法: