手机游戏中的图像尺寸限制?

DA.*_*DA. 5 image mobile-safari ios image-size cordova

我正在使用PhoneGap开发iOS应用程序.我遇到了一个烦人的问题,我的一些图像没有加载.我认为这是一个缓存问题我在交换图像.

我终于发现问题与我的图像高度有关.经过一系列的反复试验后,我发现高于7864px的图像无法加载到iPad模拟器或iPad本身.它将在Safari中正常加载.这不是文件大小限制,因为它们只有45k大小,我正在其他地方加载大小为700k的图像而没有问题.

有没有人碰到这个?我在移动Safari中找不到任何有关图像尺寸的文档限制.如果有限制,了解它们会很方便.

Dar*_*ust 5

对于原生应用程序,Apple表示要避免使用大于2048x2048 1024x1024的图像,应将其分解为较小的图像.这里的问题不是磁盘上的文件大小,而是内存中的大小:图像必须被解码并变成"平面"表示.

所以让我们做一些数学运算:假设图像为5000x5000像素,具有8位RGB.这意味着每个像素占用3个字节:

5,000*5,000*3 = 75,000,000(约71.5 MiB)

所以你看到你看似很小的图像真的非常快地填满了内存.如果在内存压力下,iOS现在不能丢弃部分,它是整个图像或什么也不是.

您唯一的解决方案是将图像分解为更小的部分.然后iOS可以从内存中删除不再可见的图像(我怀疑这么大的图像,所有部分都是可见的).