只在iPad上崩溃
我的屏幕上有一些动画。 我使用精灵表通过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];
任何想法或线索摆脱这个问题?
你必须响应那个didReceiveMemory警告并释放一些资源,否则你的应用将会被你正在获取的这个segfault的os所杀
链接地址: http://www.djcxy.com/p/78147.html上一篇: Crash only on iPad
下一篇: Issue with In