Android - 电池使用情况 - 服务或ContentProvider

时间:2014-04-09 23:06:56

标签: android android-service android-contentprovider battery battery-saver

我有 app A ,他们每隔3秒就要求 app B 获取一些数据并保存。保存此数据后,A确实不需要再次询问B服务,但这样做是为了防止用户删除B的数据(在这种情况下,数据将在下一次调用时重新创建) 。

我真的不知道每3秒钟拨打一次服务是多么昂贵(它是否会唤醒整个应用程序?)。我认为 A 可以从 B 读取属性(通过ContentProvider?);但是,最后 A 会每隔3秒询问ContentProvider是否应该调用该服务。

关于ContentProvider最好的事情是它可以返回一个结果(服务可以这样做吗?),如果它是一个" ok消息"然后 A 在第二天左右再次询问 B

所以,

问题是服务已经开发,ContentProvider不是。

是否值得创建ContentProviedr或致电服务并不真正消耗任何电池?考虑到随后对服务的调用将忽​​略处理,因为数据已经创建。

1 个答案:

答案 0 :(得分:1)

  

保存此数据之后A不需要再次询问B服务,但这样做是为了防止用户删除B的数据(在这种情况下,数据将在下一个电话)。

然后监控ACTION_PACKAGE_DATA_CLEARED broadcasts以了解用户何时删除B的数据。您可以从清单注册的接收器执行此操作,因此无需运行App A和App B来查找用户清除B的数据。

  

我真的不知道每3秒钟拨打一次服务电池的费用是多少

保持两个应用程序不断运行,每三秒钟使用一次IPC和磁盘I / O,这可能会让你在肖像中被烧毁。