0

我需要使用 cocos2d 创建并显示 10 个图像。每个都将放置在前一个之上,并且所有都将同时可见(它们都有透明区域)。每个图像的分辨率为 2048x1536。

当我创建 5 个或更少的 CCSprite 时,应用程序运行良好,但是当我创建 6 个 CCSprite 时 - 它在设备 (iPad) 上崩溃,并出现错误“数据格式化程序暂时不可用”。

我想这是内存不足,但也许有人知道这种情况的任何方法

谢谢!

4

1 回答 1

1

这种大小的透明图像使用大约 12mb 内存(2048*1536*4 字节)。

您很幸运,在您的应用程序崩溃之前显示了 5 张这种大小的图像。这通常发生在大约 50mb 内存使用量时。

如果没有更多关于您想要做什么或需要展示的知识,我无法给出任何建议......但是您将无法展示 10 张这种尺寸的图像。

编辑:由于您使用的是 cocos/opengl,因此您可以通过将图像格式更改为 rgb4444 来显示更多图像。这会将内存需求减少一半,但您的图像质量也会下降很多。

于 2011-04-01T11:34:52.710 回答