gpt4 book ai didi

iphone - UIImagePickerController 在快速滚动时崩溃,比照片应用程序慢

转载 作者:行者123 更新时间:2023-12-03 18:53:16 26 4
gpt4 key购买 nike

大多数时候,我的图像选择器工作得很好(iOS 4.2.1)。然而,如果我快速地上下滚动大约 4-6 次浏览包含大约 300 张照片的相机胶卷,我就会崩溃。对于同一台 iPhone 3G 上的“照片”应用程序,这种情况永远不会发生。另外,我注意到库存“照片”应用程序的滚动比我的图像选择器流畅得多。

还有其他人注意到这种行为吗?我很感兴趣其他人是否可以在自己的应用程序中尝试此操作并看看它们是否崩溃。我不认为这与占用我 iPhone 上内存的其他对象有关,因为它是一个简单的应用程序,而且这种情况在我启动应用程序后就发生了。根据我的崩溃日志以及模拟器对模拟内存警告响应良好的事实,它似乎也与发送到其他已释放对象的消息或 viewdidunload 中过度释放其他对象无关。我认为这可能是 UIImagePickerController 内部实现中的一个错误...

这就是我启动选择器的方式。我已经通过多种方式完成了此操作(包括在 header 中为 UIImagePickerController 设置保留属性并在 dealloc 上释放)。这似乎是最好的方法(崩溃最少):

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
picker.allowsEditing = YES;
[self presentModalViewController:picker animated:YES];
[picker release];

这是崩溃的线程(我得到各种异常类型):

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0xfffffffff4faafa4
Crashed Thread: 8
...
Thread 8 Crashed:
0 CoreFoundation 0x000494ea -[__NSArrayM replaceObjectAtIndex:withObject:] + 98
1 PhotoLibrary 0x00008e0f -[PLImageTable _segmentAtIndex:] + 527
2 PhotoLibrary 0x00008a21 -[PLImageTable _mappedImageDataAtIndex:] + 221
3 PhotoLibrary 0x0000893f -[PLImageTable dataForEntryAtIndex:] + 15
4 PhotoLibrary 0x000087e7 PLThumbnailManagerImageDataAtIndex + 35
5 PhotoLibrary 0x00008413 -[PLThumbnailManager _dataForPhoto:format:width:height:bytesPerRow:dataWidth:dataHeight:imageDataOffset:imageDataFormat:preheat:] + 299
6 PhotoLibrary 0x000b6c13 __-[PLThumbnailManager preheatImageDataForImages:withFormat:]_block_invoke_1 + 159
7 libSystem.B.dylib 0x000d6680 _dispatch_call_block_and_release + 20
8 libSystem.B.dylib 0x000d6ba0 _dispatch_worker_thread2 + 128
9 libSystem.B.dylib 0x0007b251 _pthread_wqthread + 265

最佳答案

我找到了一个修复程序,可以极大地提高图像选择器的滚动性能并完全消除崩溃。不幸的是,我不知道它为什么有效。

在上面的代码中,更改:

picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

至:

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

关于iphone - UIImagePickerController 在快速滚动时崩溃,比照片应用程序慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4585894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com