0

Android 网站上未涵盖的内容是,我猜,在您的主要活动生命周期中,您应该调用 SharedPreferencesBackupHelper() / BackupAgent。我猜代理需要应用程序仍在运行才能完成,所以onDestroy()可能为时已晚,不确定onStop(),你是否应该简单地覆盖 onSaveInstanceState()?周围有什么最佳实践吗?

4

1 回答 1

0

您永远不会直接致电您的备份代理。

当您的应用程序在其共享首选项上调用 commit() 或 apply() 时,您所做的是在 BackupManager 对象上调用 dataChanged()。这让操作系统知道您的应用程序需要再次备份。在未来的某个时间点(通常在一个小时左右),操作系统将启动您的应用程序的 BackupAgent 并按照您的预期调用它。即使您的应用程序在此期间停止,也会发生这种情况——它与活动或服务生命周期无关。

于 2014-11-20T02:30:03.863 回答