不同设备上不同的内存使用情况

时间:2018-03-12 19:55:06

标签: memory libgdx

我正在创建一个基于LibGDX的游戏,并使用Assetmanager加载资产。 全部都装满了Texturepacker。

例如,1级有96个图片,占用9.78 mb磁盘空间。 2级有226个图片,磁盘空间使用量为174 MB,而不是更多。

我在Sony Z2(Andoid 6)和三星Galaxy s7(Android 7)上测试了游戏

现在在两个设备上使用等级1。 140 MB RAM。 第2级用于s7 ca 90 mb和Z2 600 mb。

旧款手机如何使用更多内存? GC应该是否相同?

有人有想法吗?

感谢您的帮助。

顺便说一句:知道每个人为什么驱动器上的资产仅使用10 mb和120 mb的游戏? 很高兴知道

1 个答案:

答案 0 :(得分:0)

我不希望两个不同Android版本的GC表现相同。也不是两款不同的手机,即使使用相同版本的Android。

关于第二个问题,您保存为PNG或JPG的图像资源已经过压缩,但OpenGL会对它们进行未压缩加载,因此它们占用的RAM比源文件多得多。无论源图像大小如何,典型的彩色图像每个像素占用4个字节的RAM。

如果你真的使用了太多RAM,你可以看一下使用ETC1压缩图像,它们即使在加载后也会保持压缩状态。除了图像质量下降之外的缺点是它不适用于具有任何alpha透明度的图像。说明为here in the LibGDX wiki