我有 app A ,他们每隔3秒就要求 app B 获取一些数据并保存。保存此数据后,A确实不需要再次询问B服务,但这样做是为了防止用户删除B的数据(在这种情况下,数据将在下一次调用时重新创建) 。
我真的不知道每3秒钟拨打一次服务是多么昂贵(它是否会唤醒整个应用程序?)。我认为 A 可以从 B 读取属性(通过ContentProvider?);但是,最后 A 会每隔3秒询问ContentProvider是否应该调用该服务。
关于ContentProvider最好的事情是它可以返回一个结果(服务可以这样做吗?),如果它是一个" ok消息"然后 A 在第二天左右再次询问 B 。
所以,
问题是服务已经开发,ContentProvider不是。
是否值得创建ContentProviedr或致电服务并不真正消耗任何电池?考虑到随后对服务的调用将忽略处理,因为数据已经创建。
答案 0 :(得分:1)
保存此数据之后A不需要再次询问B服务,但这样做是为了防止用户删除B的数据(在这种情况下,数据将在下一个电话)。
然后监控ACTION_PACKAGE_DATA_CLEARED
broadcasts以了解用户何时删除B的数据。您可以从清单注册的接收器执行此操作,因此无需运行App A和App B来查找用户清除B的数据。
我真的不知道每3秒钟拨打一次服务电池的费用是多少
保持两个应用程序不断运行,每三秒钟使用一次IPC和磁盘I / O,这可能会让你在肖像中被烧毁。