我们有一个问题,我们需要在后台定期从我们的服务器同步大量信息,并将其保存在我们的 SQLite DB 中。
我看到它的方式,我有一些 otpions,只是不太确定我完全理解所有的后果。
1) 有一个进程内服务器,START_STICK
从onStartCommand
, 和 addPeriodicSyncs (大概是 on Application#onCreate
) 返回。
2) 拥有一个进程内服务器,START_STICKY
用于将定时器任务排队并定期更新数据库。
3)Service
在自己的进程中运行并写入我们的 SQLite DB。
所以,这里有几个问题:
a) 选项 #1 和 #2 是否排除了 SyncAdapter?运行 SyncAdapter 有什么好处?(除了必须开始一个新Thread
的Service
HTTP 请求之外)
b) #1 和 #2 是否在我的应用程序被销毁后仍然存在?如果他们这样做了,他们会带回整个应用程序吗?
c) 我可以用#3 写入我的 SQLite 数据库吗?我猜是的,因为他们将使用相同的用户 ID 对吗?
d) 在#3 和主应用程序进程之间来回讨论最简单的方法是什么?广播接收器?其中大部分将通过纯粹Cursor
使用通知 URI来处理
e)只是一般的想法,优点/缺点等:)