gpt4 book ai didi

Java Android SharedPreferences 问题

转载 作者:行者123 更新时间:2023-12-01 14:35:34 25 4
gpt4 key购买 nike

我正在 Android 上制作俄罗斯方 block 游戏作为学校项目,现在我使用共享首选项来保存游戏的当前状态,以便稍后可以恢复,我来了要意识到,当您存储超过 100 个左右的首选项时,sharedpreferences 对象开始以一种奇怪的方式工作,我可以保存所有内容,但是当我尝试调用编辑器来清除(e.clear + e.commit)时,它不会删除首选项。

对于此问题的任何帮助,我将不胜感激

谢谢

最佳答案

SharedPreferences 是保存数据的良好且轻量级的机制。

但我认为对于游戏来说这根本不是胜利。 SharedPreferences 通常用于保存非结构化数据,例如,如果您有一些需要登录的应用程序,并且当用户成功登录时,您可以将此状态保存到 SharedPreferences 并在接下来的Activities只需检查用户是否登录。但在游戏中,你有(我猜肯定)结构化数据结构(例如玩家及其属性(值),如达到的分数、失败、获胜等)。

所以我建议你考虑另一种数据持久化机制。特别尝试考虑使用经典对象序列化或使用 SQLiteDatabase 的可能性,它提供了如何持久保存结构化数据的更复杂的解决方案。

一个主要优点是您可以持久化(序列化)整个对象,然后简单地反序列化它们(而不是将它们持久化为 SharedPreferences 中的特定“ block ”)。对于SQLite,它提供了与经典序列化几乎相同的解决方案,但对象在数据库中表示为表。

关于Java Android SharedPreferences 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com