因此,当我从设备运行应用程序时,图片显示出来并且一切都很好。然而,当我移动到设备时,我运行的38张图片中约有10张没有出现。我从sqlite数据库中提取图像的名称,我已经检查过,名称是正确的,大小写和一切。我检查了捆绑包,图像正确在那里。
记忆是否会在此生效?我不确定还有什么可能导致这种情况发生?
谢谢!
解决方案: 文件以某种方式没有正确保存,甚至无法通过说photoshop或油漆打开。所以,由于文件无法打开,他们没有出现......感谢大家的帮助!
答案 0 :(得分:44)
要检查的第一件事是您用来引用资源的字符串的情况。 iPhone区分大小写,但模拟器不是。
哎呀,刚看到你检查过这个案子。最好记录所有UIImage创建调用!答案 1 :(得分:6)
模拟器接受更广泛的图像格式。有时您有一个特定的文件类型,设备无法显示。仔细检查10个文件,寻找与其他文件不同的文件。
答案 2 :(得分:2)
是的,记忆绝对适用于此。检查你的UIImage创建调用,并确保它们不会返回空。另外,检查是否在控制台窗口中收到内存警告。
答案 3 :(得分:1)
通常,如果内存大小是罪魁祸首,您的应用程序将因设备上的内存错误而崩溃。但是,似乎图像不显示。
可能出错的另一件事是图像的大小。 iPhone上的UIViews尺寸只能小于GPU支持的最大纹理尺寸。苹果声称这是1024 x 1024,但我发现即使是原型iPhone,它也更像是2048 x 2048。您可能正在为一些尺寸超过此尺寸的图像创建一个视图,但是您的Mac在其GPU上具有更大的最大纹理尺寸,因此它在模拟器中显示正常。
答案 4 :(得分:0)
显然,iPhone会缓存启动屏幕。因此,就我而言,我必须重新启动iPhone才能看到图像。