Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone 3g和iPhone 4分辨率最佳实践_Iphone_Graphics_Ios4_Screen Resolution - Fatal编程技术网

iPhone 3g和iPhone 4分辨率最佳实践

iPhone 3g和iPhone 4分辨率最佳实践,iphone,graphics,ios4,screen-resolution,Iphone,Graphics,Ios4,Screen Resolution,我们的制图人员刚刚给了我我们正在构建的应用程序的切片图像,但他只给了我960x640 iPhone4分辨率 建议我可以在运行时缩小3g图像的比例,这样分辨率/图像大小保持不变,但只显示一半大小 问题:提交到app store时是否允许这样做,或者是否要求这样做,例如: IMAGE1@2x.PNG(460x640)-iPhone 4 IMAGE1.PNG(230x320)-iPhone 3g 对于所有图像 我可能只需要进行批量转换,对所有图像使用两种分辨率,以节省最大空间。对我来说最有效的做法是制

我们的制图人员刚刚给了我我们正在构建的应用程序的切片图像,但他只给了我960x640 iPhone4分辨率

建议我可以在运行时缩小3g图像的比例,这样分辨率/图像大小保持不变,但只显示一半大小

问题:提交到app store时是否允许这样做,或者是否要求这样做,例如:

IMAGE1@2x.PNG(460x640)-iPhone 4

IMAGE1.PNG(230x320)-iPhone 3g

对于所有图像


我可能只需要进行批量转换,对所有图像使用两种分辨率,以节省最大空间。

对我来说最有效的做法是制作视网膜图像,然后将其缩小50%


为了使视网膜显示器使用较大的图像,@2x必须与较大的图像分开。您的示例就是它的使用方式。

这是允许的,但很明显,图像在旧设备上占用的RAM是其他设备的四倍,像素是其他设备的四倍。虽然iPhone4有512mb内存,但3G和原版只有128mb。尽管假设您正确地处理了内存警告,并且所有内容仍然合适,但主要的副作用将是在清除内容并稍后从磁盘重新加载时出现性能问题(我相信您已经知道,NIB中的视图控制器会自动处理这些问题)。根据经验观察,3GS之前的设备上的闪存速度比后来的设备慢得多,因此,即使您坚持使用大图像,尝试最小化磁盘大小也是有意义的。

我肯定会提前进行批量缩放。如果除iPhone之外没有其他原因,则选择是否显示IMAGE1.PNG或IMAGE1@2X.PNG取决于屏幕的分辨率。在代码中,您总是只引用IMAGE1.PNG。您不必进行任何编码更改。如果在运行时缩放它们,则必须覆盖对任何UIImage类型的调用


恕我直言,你可能会错过一个,否则苹果可能会发布不同配置的手机,这将导致你不得不重新编写所有检查屏幕分辨率的代码。

让他也给你一半大小的图像。在运行时这样做是没有效率的,图像的缩放并不总是完美的,应该需要他的签名。哦,真的!好的一点,我刚刚意识到一些图像不会被2整除。我已经让他开始工作了。干杯,伙计,这为我澄清了一切。