gpt4 book ai didi

Java 序列化内存效率

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

我正在使用 LibGdx 编写游戏。我创建了一个关卡编辑器,您可以在其中放置关卡对象。所有对象都放入一个列表中,然后通过将该列表写入对象输出流来序列化整个列表。然后,我读取游戏中的对象列表,并将该列表复制到当前正在玩的关卡中的对象列表中。在玩游戏的实际用户设备上,将会有 20 多个序列化关卡文件。此时它们只会被反序列化。就内存和性能而言,这是一种有效的方法吗?这些文件会占用大量内存吗?我注意到人们使用 xml 或 Json 来完成我正在做的事情。我是否应该担心关卡加载过程中出现任何问题?谢谢。如果我的问题不清楚,请告诉我。

最佳答案

当我们寻找代码中的减慢情况时,我们对其运行情况进行了分析,发现大量时间花在了一件事上。当我们查看时,发现这是一个通过将对象序列化为字符串并返回来复制对象的部分。由于某种原因,序列化的默认 java 实现速度很慢。

序列化的另一个问题是它是黑匣子——如果你的文件被损坏或者你在升级过程中弄乱了你的对象,你可能会丢失一切。

您是否考虑过 ORM 和某种简单的数据库?有些数据库被编译到您的代码中(对您的用户不可见),并且它几乎只是 db.save(anyObject)...非常易于使用。

关于Java 序列化内存效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611272/

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