【发布时间】:2015-01-17 10:09:06
【问题描述】:
我正在使用 libgdx 开发一个文字游戏,并且我有一个单词列表可以在我的游戏中使用。我需要把这个词保留在应用程序中。我不能不使用 SQLite,因为我也希望我的游戏可以在 IOS 上运行。所以我决定使用 Json,并使用下面的代码。在我的 json 文件中有十万字。
FileHandle file = Gdx.files.internal("data/word.json");
Json json = new Json();
ObjectMap<String, Data> dataMap = json.fromJson(ObjectMap.class, file);
但是加载时间太长,自然会消耗太多内存。我只想从 Json 文件中获取一个随机单词,并搜索 Json 文件中存在的单词。只为这两个简单的操作加载所有文件似乎不正确。
这些的最佳实现是什么?在我的情况下,Json 是唯一的选择吗?
提前致谢。
【问题讨论】:
-
也许您应该考虑另一种存储方式(例如文本文件,逐行逐行,行数固定)并加以利用。
-
@RC。在这种情况下,当我使用文本文件时,仍然存在加载时间长和内存问题。我错了吗?
-
也许,你从文件读取中赢了一点,因为你大部分时间不需要读取整个文件,你赢了存储,因为没有 objectMap,你赢了处理时间,因为没有 JSON 解析,但没有测试,这只是一个假设。您还可以索引整个文件并将索引添加到应用程序