嗨,我是一个试图整理iPad应用程序的菜鸟。所有都在模拟器上顺利运行,但在设备上没有。我有五个视图控制器,它是第五个特别是在运行怪物动画时崩溃。
我在这个视图控制器中发布代码。请不要笑。
它还说它收到了内存警告。那是什么?
谢谢任何人。
import "FifthViewController.h"
#import "ViewController.h"
@interface FifthViewController ()
@end
@implementation FifthViewController
@synthesize doorImage;
@synthesize flagImage;
@synthesize kuckuImage;
@synthesize treImage;
@synthesize moppImage;
-(IBAction)trollljud:(id)sender{
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"trolleri3", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef); }
-(IBAction)monsterljud:(id)sender{
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Monsterljud", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef); }
-(IBAction)dorrljud:(id)sender{
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"dörrljud", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef); }
-(IBAction)kuckuljud:(id)sender{
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Fun24", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef); }
-(IBAction)flaggljud:(id)sender{
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Flag1", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef); }
-(IBAction)change:(id)sender{
ViewController *two = [[ViewController alloc] initWithNibName:nil bundle:nil];
two.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:two animated:YES];
[theAudio stop];
[two release];
}
-(IBAction)hideButton
{
Button2.hidden=FALSE; }
-(IBAction)hideButton2
{
Button3.hidden=TRUE; }
- (void) openDoor {
[doorImage startAnimating]; }
- (void) kucku {
[kuckuImage startAnimating]; }
- (void) flag {
[flagImage startAnimating]; }
- (void) tre {
[treImage startAnimating]; }
- (void) mopp {
[moppImage startAnimating]; }
-(IBAction)oneFingerSwipeLeft:(UITapGestureRecognizer *)recognizer {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid2", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef);
}
-(IBAction)oneFingerSwipeRight:(UITapGestureRecognizer *)recognizer {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef);
}
-(IBAction)oneFingerSwipeUp:(UITapGestureRecognizer *)recognizer {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Wolf2", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef);
}
-(IBAction)oneFingerSwipeDown:(UITapGestureRecognizer *)recognizer {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Snake2", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
CFRelease(soundFileURLRef);
}
- (void)viewDidLoad{
{
[super viewDidLoad];
UISwipeGestureRecognizer *oneFingerSwipeLeft = [[[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(oneFingerSwipeLeft:)] autorelease];
[oneFingerSwipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[[self view] addGestureRecognizer:oneFingerSwipeLeft];
UISwipeGestureRecognizer *oneFingerSwipeRight = [[[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(oneFingerSwipeRight:)] autorelease];
[oneFingerSwipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
[[self view] addGestureRecognizer:oneFingerSwipeRight];
UISwipeGestureRecognizer *oneFingerSwipeUp = [[[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(oneFingerSwipeUp:)] autorelease];
[oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp];
[[self view] addGestureRecognizer:oneFingerSwipeUp];
UISwipeGestureRecognizer *oneFingerSwipeDown = [[[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(oneFingerSwipeDown:)] autorelease];
[oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown];
[[self view] addGestureRecognizer:oneFingerSwipeDown];
}
{
[super viewDidLoad];
[Button2 setHidden:TRUE];
}
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"Okenljud" ofType:@"mp3"];
if (theAudio) [theAudio release];
{
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];
theAudio.numberOfLoops = -1;
}
[super viewDidLoad];
}
{
[super viewDidLoad];
NSArray *doorFrames = [NSArray array];
doorFrames = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"dörr51.png"],
[UIImage imageNamed:@"dörr51.png"],
[UIImage imageNamed:@"dörr52.png"],
[UIImage imageNamed:@"dörr53.png"],
[UIImage imageNamed:@"dörr54.png"],
[UIImage imageNamed:@"dörr55.png"],
[UIImage imageNamed:@"dörr56.png"],
[UIImage imageNamed:@"dörr57.png"], Nil];
doorImage.animationImages = doorFrames;
doorImage.animationDuration = 3;
doorImage.animationRepeatCount = 1;
}
{
[super viewDidLoad];
NSArray *kuckuFrames = [NSArray array];
kuckuFrames = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"Kuckuhh1.png"],
[UIImage imageNamed:@"Kuckuhh2.png"],
[UIImage imageNamed:@"Kuckuhh3.png"],
[UIImage imageNamed:@"Kuckuhh2.png"],
[UIImage imageNamed:@"Kuckuhh1.png"], Nil];
kuckuImage.animationImages = kuckuFrames;
kuckuImage.animationDuration = 1;
kuckuImage.animationRepeatCount = 1;
}
{
[super viewDidLoad];
NSArray *moppFrames = [NSArray array];
moppFrames = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"m1.png"],
[UIImage imageNamed:@"m2.png"],
[UIImage imageNamed:@"m3.png"],
[UIImage imageNamed:@"monster15.png"],
[UIImage imageNamed:@"monster16.png"],
[UIImage imageNamed:@"monster17.png"],
[UIImage imageNamed:@"m4.png"],
[UIImage imageNamed:@"monster18.png"],
[UIImage imageNamed:@"monster19.png"],
[UIImage imageNamed:@"m5.png"],
[UIImage imageNamed:@"m6.png"],
[UIImage imageNamed:@"m7.png"],
[UIImage imageNamed:@"m8.png"],
[UIImage imageNamed:@"m9.png"],
[UIImage imageNamed:@"m10.png"],
[UIImage imageNamed:@"m11.png"],
[UIImage imageNamed:@"m12.png"],
[UIImage imageNamed:@"m13.png"],
[UIImage imageNamed:@"m14.png"],
[UIImage imageNamed:@"monster20.png"],
[UIImage imageNamed:@"monster21.png"],
[UIImage imageNamed:@"monster22.png"],
[UIImage imageNamed:@"monster23.png"],
[UIImage imageNamed:@"monster24.png"],
[UIImage imageNamed:@"monster25.png"],
[UIImage imageNamed:@"monster26.png"], Nil];
moppImage.animationImages = moppFrames;
moppImage.animationDuration = 19;
moppImage.animationRepeatCount = 1;
}
{
[super viewDidLoad];
NSArray *fagelBilder = [NSArray array];
fagelBilder = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"5.png"],
[UIImage imageNamed:@"6.png"],
[UIImage imageNamed:@"7.png"],
[UIImage imageNamed:@"8.png"],
[UIImage imageNamed:@"9.png"],
[UIImage imageNamed:@"10.png"],
[UIImage imageNamed:@"11.png"],
[UIImage imageNamed:@"12.png"],
[UIImage imageNamed:@"13.png"],
[UIImage imageNamed:@"14.png"],
[UIImage imageNamed:@"15.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"16.png"],
[UIImage imageNamed:@"17.png"],
[UIImage imageNamed:@"18.png"],
[UIImage imageNamed:@"19.png"],
[UIImage imageNamed:@"20.png"],
[UIImage imageNamed:@"21.png"],
[UIImage imageNamed:@"22.png"],
[UIImage imageNamed:@"23.png"],
[UIImage imageNamed:@"24.png"],
[UIImage imageNamed:@"25.png"],
[UIImage imageNamed:@"26.png"],
[UIImage imageNamed:@"27.png"],
[UIImage imageNamed:@"28.png"],
[UIImage imageNamed:@"29.png"],
[UIImage imageNamed:@"30.png"],
[UIImage imageNamed:@"31.png"],
[UIImage imageNamed:@"32.png"],
[UIImage imageNamed:@"33.png"],
[UIImage imageNamed:@"38.png"],
[UIImage imageNamed:@"14.png"],
[UIImage imageNamed:@"13.png"],
[UIImage imageNamed:@"12.png"],
[UIImage imageNamed:@"11.png"],
[UIImage imageNamed:@"10.png"],
[UIImage imageNamed:@"9.png"],
[UIImage imageNamed:@"8.png"],
[UIImage imageNamed:@"7.png"],
[UIImage imageNamed:@"6.png"],
[UIImage imageNamed:@"5.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"1.png"], Nil];
treImage.animationImages = fagelBilder;
treImage.animationDuration = 10;
treImage.animationRepeatCount = 1;
}
{
[super viewDidLoad];
NSArray *flagbilder = [NSArray array];
flagbilder = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"F1.png"],
[UIImage imageNamed:@"f2.png"],
[UIImage imageNamed:@"f3.png"],
[UIImage imageNamed:@"f4.png"],
[UIImage imageNamed:@"f5.png"],
[UIImage imageNamed:@"f6.png"],
[UIImage imageNamed:@"f7.png"],
[UIImage imageNamed:@"f8.png"],
[UIImage imageNamed:@"f9.png"],
[UIImage imageNamed:@"f10.png"],
[UIImage imageNamed:@"f11.png"],
[UIImage imageNamed:@"f12.png"],
[UIImage imageNamed:@"f13.png"],
[UIImage imageNamed:@"f14.png"],
[UIImage imageNamed:@"f15.png"],
[UIImage imageNamed:@"f16.png"],
[UIImage imageNamed:@"f17.png"],
[UIImage imageNamed:@"f18.png"],
[UIImage imageNamed:@"f19.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f21.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f22.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f23.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f22.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f23.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f22.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f23.png"],
[UIImage imageNamed:@"f20.png"],
[UIImage imageNamed:@"f24.png"],
[UIImage imageNamed:@"f25.png"],
[UIImage imageNamed:@"f26.png"],
[UIImage imageNamed:@"f27.png"],
[UIImage imageNamed:@"f28.png"],
[UIImage imageNamed:@"f29.png"],
[UIImage imageNamed:@"f30.png"],
[UIImage imageNamed:@"f31.png"],
[UIImage imageNamed:@"f32.png"],
[UIImage imageNamed:@"f33.png"],
[UIImage imageNamed:@"f34.png"],
[UIImage imageNamed:@"f35.png"],
[UIImage imageNamed:@"f36.png"],
[UIImage imageNamed:@"f37.png"],
[UIImage imageNamed:@"f38.png"], Nil];
flagImage.animationImages = flagbilder;
flagImage.animationDuration = 15;
flagImage.animationRepeatCount = 1;
}
}
- (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil; }
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); }
@end
答案 0 :(得分:0)
如果您收到内存警告,可能是应用程序没有崩溃,但因内存使用过多而被杀死。
您可能会在班级某处发生内存泄漏,或者只是对该设备要求太多。
你的课很长,所以我无法深入研究它的泄漏。但在Xcode中,有一个功能可以自动分析代码中的问题。
只需从菜单中选择:产品 - >的分析强>
您将收到可能出现问题的列表,只需检查每个未发布的对象。
答案 1 :(得分:0)
你有记忆问题。模拟器拥有计算机的全部内存资源,远远超过任何iPhone或iPad。
看起来你正试图一次加载太多图像。您可能需要使用较小的inage或更少的图像或将动画方法更改为更按需的类型。
还有一个小问题。对于像你这样的重复代码,使用“for”语句和“stringWithFormat”。它会把它打成几行。