我希望存储简单的变量,这样如果应用程序进程停止,数据在重新启动时仍然可用。我研究了扩展Application类和sharedPreferences。对我来说,似乎扩展应用程序适用于在应用程序进程停止时删除的临时全局变量。但是,sharedPreferences将变量保存到文件中,以便始终可用。两者之间有什么区别,它们的最佳用途是什么?此外,即使应用程序停止,存储要保留的变量的最佳方法是什么?
答案 0 :(得分:4)
当您的应用程序进程被终止时,Application类中存储的任何数据都将丢失。您应该只使用它来存储多次启动和使用应用程序时不需要的数据。
为了存储简单数据,如高分,声音偏好,在启动偏好时显示对话框,最好的选择是SharedPreferences。有关更全面的数据,例如用户在您的应用中进行的购买列表,或者todo列表应用中的备注,您应该使用SQLite数据库。
除此之外,如果您要存储PDF等文件或图像(图像也可以保存到数据库中),您可以使用内部存储或外部存储(可能是SD卡或分区上的内部存储)。请记住,在大多数设备上,内部存储空间非常有限,您不应该在那里保存过大的文件。
This部分文档应该可以帮助您了解存储选项。