大家好,首先我进入了一张2900x2100的图像视图,文件大小约为4MB,我也有一个滚动视图可以在图像中移动。
无论如何它崩溃了,首先我虽然是因为4MB的大小。然后我将其调整为1287x1234和1.3MB的大小,但是当我放大太多时,它会被像素化。
之后,我设法用1.5 MB将其制作为2900x2100!所以我在我的设备上运行它,它仍然崩溃!
有人知道为什么吗?
这是我在调试器控制台上得到的
程序接收信号:“ 0”。
警告:check_safe_call:无法恢复当前帧
这是更多信息,这是我的viewDidLoad方法:
UIImageView * tempimage = [[UIImageView分配] initWithImage:[UIImage imageNamed:@“ sanlucasFLAT.jpg”]]];
self._FLatLucasImageView = tempimage;
[tempimage发布];
_FLatLucasImageView.frame = CGRectMake(-7,0,800,800);
_FLatLucasImageView.contentMode = UIViewContentModeScaleAspectFit;
_FlatLucasScrollView.contentSize = CGSizeMake(_FLatLucasImageView.frame.size.width,_FLatLucasImageView.frame.size.height);
_FlatLucasScrollView.delegate =自我;
_FlatLucasScrollView.clipsToBounds =是;
[_FlatLucasScrollView addSubview:_FLatLucasImageView];
[_FLatLucasImageView版本];
当我将CGRectMake设置为(0,0,2900,2961)时,当我滚动图像时它不会崩溃
最好的祝福
卡洛斯·瓦尔加斯(Carlos Vargas)
最佳答案
您的应用崩溃的原因是您使用的图片太大。
根据UIImage的类参考,它说您应该避免创建大小大于1024 x 1024的UIImage对象。
如果将具有大于1024 x 1024的图像的UIImage对象添加到UIImageView对象,则您的应用程序可能会崩溃。如果幸运的话,有时您的应用程序也不会崩溃。