我正在使用andengine为Android平台开发游戏。我曾经定期检查应用程序的内存使用情况。
这是使用精灵表之前的内存使用情况
后来我知道了 SpriteSheet 和 Andengine 的 TexturePackerExtension
我试图在我的应用程序中使用它。我创建了一个精灵表,其中包含整个游戏所需的所有图像。
当我加载它时,我的堆比前一个增加了。
我假设使用 SpriteSheet 后堆会减少。
什么地方出了错?
我应该怎么做才能使用 SPriteSheet 和 TexturePackers 来管理内存。
使用的软件:
- CodeANdWeb.com的 TexturePacker
- AndEngine GLES2
- 和engine-TexturePacker 扩展。
[编辑] [已解决]
总堆似乎不是一个更大的问题。我终于设法控制了总堆内存。
我简单地为实际游戏资源创建了 2 个 spritesheets,1 个用于菜单资源。我只加载当前需要的精灵表。在加载另一个 spritesheet 之前,我曾经卸载以前的 spritesheet 等等..
我希望这是一个正确的方法。
创建 2 个 spritesheets 后,我的堆内存永远不会超过 18 mb:D