我正在编写一个与iPhone地址簿接口的应用程序。
以下是我的代码的相关部分(来自UIImagePickerControllerDelegate)
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
ABPersonSetImageData(record, (__bridge CFDataRef)UIImagePNGRepresentation(image), &error);
}我的应用程序可以让你用相机(使用UIImagePictureController)拍照,然后将其存储为通讯录中某人的联系人。
我发现上面的操作挂起了5-10秒。1)有没有更好的方法? 2)为什么这么慢?
发布于 2012-06-24 16:15:08
Saving as a JPEG
UIImageJPEGRepresentation (UIImage *image, CGFloat compressionQuality);将比UIImagePNGRepresentation更快,特别是在compressionQuality设置为较低值的情况下。但是,这仍然是一个CPU密集型进程,因此无法避免等待。
您所能做的最好的事情就是显示一条消息,表明工作正在完成,这样界面就不会感觉没有响应。使用像SVProgressHUD这样的东西来做这件事。
https://stackoverflow.com/questions/11174238
复制相似问题