我正在開發一個圖像處理應用程序,用於解壓縮和顯示圖像。我們的圖像數據是每種顏色24位,分別是RGB。CGSConvertBGR888toRGBA8888從哪裏來?
我使用線程來解壓縮圖像並返回一個UIImage指針到MainThread,然後UIImageView將顯示圖像。
線程選擇是這樣的:
- (void)loadImage:(NSString *)name
{
@autoreleasepool{
@synchronized(self){
UIImage *image = [Reader loadImage:name];
[self performSelectorOnMainThread:@selector(didLoadImage:) withObject:image waitUntilDone:YES];
}
}
}
- (void)didLoadImage:(UIImage *)image
{
[self displayImage:image];
}
我用一個UIScrollView顯示4個UIImageViews的。滾動速度越快,越容易崩潰,如果滾動速度較慢,它也會崩潰,但可以滾動更多圖像。崩潰與CGSConvertBGR888toRGBA8888有關。我嘗試使用NSException或Instruments來定位崩潰的來源,但都失敗了。
下面是關於崩潰的截圖。
所以我想知道哪些會導致崩潰?