Android site上没有涉及的内容是,当我想进入您的主要活动lifecycle时,您应该调用您的SharedPreferencesBackupHelper()/ BackupAgent。我猜测代理需要应用程序仍在运行才能完成,所以 onDestroy()可能为时已晚,不确定 onStop(),如果你只需覆盖 onSaveInstanceState()?有没有最佳实践?
答案 0 :(得分:0)
您永远不会直接致电您的备份代理。
当您的应用在其共享首选项上调用commit()或apply()时,您所做的就是在BackupManager对象上调用dataChanged()。这让操作系统知道您的应用需要再次备份。在未来的某个时间点(通常在一个小时左右),操作系统将启动您的应用程序的BackupAgent并按预期调用它。即使您的应用程序在此期间已停止,也会发生这种情况 - 它与活动或服务生命周期无关。