- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 UIImagePickerController 是为了让用户通过拍摄新照片或从图库中选择图像来在我的应用程序中选择图像。使用画廊,该应用程序运行良好。但如果我使用相机作为源,该应用程序会占用大量内存,并最终在变得非常慢后被杀死。
有人可以告诉我使用 UIImagePickerControllerSourceTypeCamera 的最佳方法吗?
这是我正在使用的代码
if(![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
return;
picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.delegate = self;
[[self navigationController] presentModalViewController:picker animated:YES];
[picker release];
最佳答案
使用 UIImagePickerController 没有什么技巧——它会占用大量内存,你只能忍受它。完成后释放它是最高效的。
不过,这是关于图像选择器本身的。问题的另一部分是您如何处理它返回给您的 UIImage 对象。按照 iPhone 的标准,这些都是大对象,你确实无法将其中的很多内容保留在内存中。如果您要显示图像,那就是生活,但是屏幕上没有的图像可以通过 UIImageJPEGRepresentation() 和 NSData 的 writeToFile:atomically: 安全地卸载到文件中。
如果您确实需要显示多张图像,请考虑缩小它们。相机的 1600x1200 分辨率已经比屏幕大很多了,如果屏幕上有多个图像,那就更夸张了。缩放到较低的分辨率可显着降低内存需求。执行此操作的示例代码并不难找到 - 请参阅 UIImagePickerController camera preview is portrait in landscape app例如。
关于iphone - UIImagePickerControllerSourceTypeCamera 占用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565886/
我使用 UIImagePickerController 是为了让用户通过拍摄新照片或从图库中选择图像来在我的应用程序中选择图像。使用画廊,该应用程序运行良好。但如果我使用相机作为源,该应用程序会占用大
我正在我的应用程序中实现相机功能,它会拍照。但我无法拍摄全屏图像。它显示了一个用于选择图像区域的矩形。 我的来源是这样的: UIImagePickerController *picke
在我的应用程序中,我启动相机让用户拍照: UIImagePickerController *imagePickerControllerSubject = [[UIImagePickerCont
我对 UIImagePickerControllerSourceTypeCamera 有一个奇怪的问题。我的应用程序可以选择从图库中选择照片,或使用相机拍照。如果我选择图库,我会选择一张照片并返回到我
我有以下代码: if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
这有什么问题吗?我真的不明白 UIImagePickerController 的一些重要部分...... 来源如下: UIImagePickerController *imagePicker
.m 编码 -(IBAction) getPhoto:(id) sender { picker.sourceType = UIImagePickerControllerSourceTypeSa
我正在开发 iPad 应用程序,当我们单击右侧栏按钮时,我会执行如下操作: -(IBAction)camerabuttonAction:(id)sender { UIImagePickerCo
我使用的代码: -(IBAction) getPhoto:(id) sender { UIImagePickerController * picker = [[UIImagePickerCon
在我的应用程序中,我为用户提供两个上传照片的选项: 拍照 从库中选择 我在委托(delegate)方法中的 modalViewController 中展示这张照片 - imagePickerContr
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.delegate
在 iOS 6 中,我使用以下代码推送源类型为 UIImagePickerControllerSourceTypeCamera 的 UIImagePickerController,并显示其导航栏。我想
我是一名优秀的程序员,十分优秀!