我正在创建一个基于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的游戏? 很高兴知道
答案 0 :(得分:0)
我不希望两个不同Android版本的GC表现相同。也不是两款不同的手机,即使使用相同版本的Android。
关于第二个问题,您保存为PNG或JPG的图像资源已经过压缩,但OpenGL会对它们进行未压缩加载,因此它们占用的RAM比源文件多得多。无论源图像大小如何,典型的彩色图像每个像素占用4个字节的RAM。
如果你真的使用了太多RAM,你可以看一下使用ETC1压缩图像,它们即使在加载后也会保持压缩状态。除了图像质量下降之外的缺点是它不适用于具有任何alpha透明度的图像。说明为here in the LibGDX wiki。