Iphone 尝试添加图像时应用程序崩溃。。?
我是新的iPhone开发者。我正在升级现有的iPhone应用程序。我使用核心数据模型来保存数据。 在应用程序中,有15个方形框用于添加图像。我调用一个分离的线程来创建一个单独的进程。在此过程中,我将图像保存为两种大小。我添加了带有图像对象的观察者,最后删除了观察者 我使用此方法添加观察者:-Iphone 尝试添加图像时应用程序崩溃。。?,iphone,multithreading,image,core-data,Iphone,Multithreading,Image,Core Data,我是新的iPhone开发者。我正在升级现有的iPhone应用程序。我使用核心数据模型来保存数据。 在应用程序中,有15个方形框用于添加图像。我调用一个分离的线程来创建一个单独的进程。在此过程中,我将图像保存为两种大小。我添加了带有图像对象的观察者,最后删除了观察者 我使用此方法添加观察者:- [projectImage addObserver:self forKeyPath:@"fileName" options:NSKeyValueObservingOptionNew context:nil]
[projectImage addObserver:self forKeyPath:@"fileName" options:NSKeyValueObservingOptionNew context:nil];
这种制造独立螺纹的方法:-
[NSThread detachNewThreadSelector:@selector(addImage:) toTarget:self withObject:[dic retain]];
这里的AddImage方法类似于:-
- (void) addImage:(NSDictionary *) dic {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
UIImage *image = [dic objectForKey:@"image"];
projectImage = nil;
projectImage = [dic objectForKey:@"managedObject"];
[projectImage importImageData:image];
[projectImage removeObserver:self forKeyPath:@"fileName"];
[pool drain];
}
dic是一本字典
我的问题是:
它在通过相机或手机库拍摄了4-5张照片后崩溃了
如果有人能指导我解决这个问题
提前感谢您正在泄漏内存,可能因此您的应用程序将崩溃。我认为该应用程序内存不足,会被杀死 从车辆上拆下
[dic保留]
[NSThread detachNewThreadSelector:@selector(addImage:) toTarget:self withObject:[dic retain]];
该对象由方法调用保留。参见对的讨论
在执行分离的线程期间,对象aTarget和anArgument将保留,然后释放。一旦aTarget完成执行aSelector方法,分离的线程就会退出(使用exit类方法)
你的电话应该是
[NSThread detachNewThreadSelector:@selector(addImage:) toTarget:self withObject:dic];
感谢fluchtpunkt的回复,我正在这样做,但它不起作用,可能是因为内存泄漏。您能给我一些提示,使一个方法同步,以便在另一个进程运行后执行。。。?我该怎么称呼它呢?我想一次执行这个图像保存方法。