【发布时间】:2012-11-26 08:59:46
【问题描述】:
我的屏幕上有一些动画。我正在使用精灵表通过 CAlayers 为所有这些设置动画。我正在以viewDidAppear 方法下载所有大小为 4 MB 的资产。
我可以在模拟器和 iPhone 上显示动画。但在 iPad 上收到内存警告。
在我的设备崩溃报告中,异常类型显示为
EXC_BAD_ACCESS(SIGSEGV)
我正在使用以下代码制作动画:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageNameStr]]; UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
CGImageRef richterImgPl1 = [UIImage imageWithContentsOfFile:getImagePath].CGImage;
NSArray *arrayWithSprites = [img spritesWithSpriteSheetImage:img
spriteSize:CGSizeMake(230,350)];
CGSize fixedSize = CGSizeMake(230, 350);
MCSpriteLayer *richterPl1 = [MCSpriteLayer layerWithImage:richterImgPl1 sampleSize:fixedSize] ;
richterPl1.frame = imgView.frame;
richterPl1.position = imgView.layer.position;
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"sampleIndex"];
anim.fromValue = [NSNumber numberWithInt:1];
anim.toValue = [NSNumber numberWithInt:arrayWithSprites.count];
anim.duration = sleepTime;//[imgView.animationImages count] * 0.0500;
anim.repeatCount = 1;
[richterPl1 addAnimation:anim forKey:nil];
[self.view.layer addSublayer:richterPl1];
有摆脱这个问题的想法或线索吗?
【问题讨论】:
-
请显示一些代码...
-
尝试在 Xcode 中设置exception breakpoint。它将向您显示导致崩溃的确切行。
-
尝试开启 NSZombie 对象。方法如下:stackoverflow.com/questions/5386160/…
-
它是 SEGFAULT,僵尸能理解吗?
-
@Adam 我尝试添加异常断点但没有用。