gpt4 book ai didi

java - Libgdx 强制垃圾收集器

转载 作者:搜寻专家 更新时间:2023-11-01 08:36:04 25 4
gpt4 key购买 nike

我的游戏由主菜单(25 个对象 -> 它是一个动态菜单,一切都在移动)、游戏结束(3 个对象)、游戏屏幕(15 - 20 个对象)、游戏商店(40 个对象)组成。 .所以我的游戏使用了大约 50mb 的 ram,然后稳步增加,因为我正在创建这么多对象!

当然,我只是在我的主菜单中使用了命令 System.gc(),现在它总是在 25mb 左右,而且似乎没有任何问题!但是人们说这样做是不好的做法。

但是屏幕被破坏了,我不想保留会浪费我 RAM 的对象,所以这似乎是唯一的解决方案!

最佳答案

我建议你使用libgdx的内存管理方式,确保你释放所有实现disposable的对象,你可以找到一个disposable objects列表 here ,您也可以使用对象池,这是 libgdx 中使用的内存管理的常见模式:

问候 libgdx 维基:

Object pooling is the principle of reusing inactive or "dead" objects, instead of creating new objects every time. This is achieved by creating an object pool, and when you need a new object, you obtain it from that pool. If the pool has an available (free) object, it is returned. If the pool is empty, or does not contain free objects, a new instance of the object is created and returned. When you no longer need an object, you "free" it, which means it is returned to the pool. This way, object allocation memory is reused, and garbage collector is happy.

Object pooling

关于java - Libgdx 强制垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36584126/

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