在这种情况下,"短时间段"可以30秒向上5分钟。
我的onPerformSync
方法在大多数时候几乎没有任何作用,但我担心短同步时间可能会阻止手机睡眠,并对电池寿命产生严重影响。
public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) {
if (!InternetConnectionDetector.isConnectedToInternet())
return;
if (/*We have received a push from server indicating update is available*/)
syncWithServer();
else
return;
}
答案 0 :(得分:0)
即使您在代码中定义频率,同步适配器也将以特定的间隔运行,具体取决于Android系统的优化。从Android 6.0及更高版本开始,当设备处于空闲/待机或睡眠/打ze模式时,请阻止运行同步适配器。 优化了打ze模式以提高电池性能,并且待机状态相同。 当Android系统处于打do或待机模式时,它会阻止运行同步adapyer,同步作业,同步计划程序,警报。 它给了我们在称为维护窗口的特定间隔内运行所有这些背景的机会。该维护窗口执行所有未决的同步。最初,此窗口经常打开,以后的间隔在每个维护窗口中都变长。
如果无论打ze睡或待机模式如何仍要执行后台任务,则可以使用优先级Firebase消息运行同步或寻求用户许可以执行更好的密集任务。有关模式的详细信息,请参阅有关打ze模式和待机模式的android开发人员文档