我的应用程序在计算上是密集的,但在程序上相当简单。例如,没有线程。一切都是直线。
如果我在iPhone Retina 3.5"模拟器中运行该应用程序,我可以将应用程序进行足够的锻炼以使其毫无困难地造成访问违规行为:
{从Uiview DrawRect方法}
调用UIImage *image = [self getImage] ;
[image drawAtPoint:point] ; // Crash here-no identifiable pattern when it crashes here.
getImage
方法要么将指针返回到已经加载的UIImage
的指针,要么加载图像并返回指针。调试器似乎在崩溃后显示有效的UIImage
。
如果我在其他任何模拟器中运行该应用程序,请不要遇到问题。实际上,这是自开发此应用以来我见过的第一次违规行为。
3.5"模拟器或电话都有内在不同的东西?
我发现了问题所在。有点。
我注意到它总是在同一图像上崩溃。我有1700张图像,每当它在3-1/2"模拟器中显示此图像)
我将PNG图像加载到Photoshop(最初是创建的)中。我从索引颜色更改为RGB,不再崩溃。
我不知道为什么它只是在一个模拟器上坠毁。预览,Safari,Chrome和Photoshop对图像没有任何问题。