Android-电池使用-服务或内容提供商

Android-电池使用-服务或内容提供商,android,android-service,android-contentprovider,battery,battery-saver,Android,Android Service,Android Contentprovider,Battery,Battery Saver,我有一个应用程序A,它每隔3秒就会要求应用程序B获取一些数据并保存。保存此数据后,A实际上不需要再次询问B服务,但它会这样做,以防用户删除B的数据(在这种情况下,数据将在下次调用时重新创建) 我真的不知道每3秒调用一个服务的电池有多贵(它会唤醒整个应用吗?)。我想A可以从B读取属性(通过ContentProvider?);然而,在最后,A会每隔3秒询问ContentProvider一次,以了解它是否应该呼叫该服务 ContentProvider最好的一点是它可以返回一个结果(服务可以这样做吗?)

我有一个应用程序A,它每隔3秒就会要求应用程序B获取一些数据并保存。保存此数据后,A实际上不需要再次询问B服务,但它会这样做,以防用户删除B的数据(在这种情况下,数据将在下次调用时重新创建)

我真的不知道每3秒调用一个服务的电池有多贵(它会唤醒整个应用吗?)。我想A可以从B读取属性(通过ContentProvider?);然而,在最后,A会每隔3秒询问ContentProvider一次,以了解它是否应该呼叫该服务

ContentProvider最好的一点是它可以返回一个结果(服务可以这样做吗?),如果它是一条“ok消息”,那么a在第二天左右不会再问B

所以

问题是服务已经开发,而ContentProvider还没有

是否值得创建ContentProvider或调用不消耗任何电池的服务?考虑到对服务的后续调用将忽略处理,因为数据已经创建

保存此数据后,A实际上不需要再次询问B服务,但它会这样做,以防用户删除B的数据(在这种情况下,数据将在下次调用时重新创建)

然后监视以了解用户何时擦除B的数据。您可以从清单注册的接收者处执行此操作,因此应用程序a和应用程序B都不需要运行,您就可以发现用户清除了B的数据

我真的不知道每3秒钟打一次电话给一个服务有多贵


保持两个应用程序持续运行,IPC和磁盘I/O每三秒运行一次,这可能会让你被烧死。

很好,然后我还需要使用ACTION\u PACKAGE\u REMOVED。但是,我认为我仍然需要从服务中进行一些广播,以通知数据保存成功。