如何正确可靠地保存片段状态(自定义类)

时间:2012-11-30 15:35:28

标签: android android-fragments state

如何正确保存片段状态,使其100%可靠?

我的问题是,当我在我的片段中拍照时,它会导致我的应用被杀死并重新创建。我片段的状态丢失了。

我已经尝试了onSaveInstanceState,令我惊讶的是没有工作,如果app在拍照后被杀,状态丢失onCreate(Bundle savedInstanceState) savedInstanceState为null ...

我已经尝试将状态变量设置为静态。首先,我不喜欢这个解决方案,其次它不适用于我的特殊情况,因为我有跨应用程序的多个片段类实例。

建议的方法是什么?

1 个答案:

答案 0 :(得分:1)

也许您应该考虑使用SharedPreferences。看看这个问题。 How to use SharedPreferences in Android to store, fetch and edit values

或者您可以创建一个Sqlite数据库来保持您的状态。既然你有自定义类我猜你会用到什么。

http://www.vogella.com/articles/AndroidSQLite/article.html

我不建议在您的应用中使用静态变量,因为如果系统内存不足,它们可能会被刷新。