2012-11-30 186 views
5

我正在使用SDWebImage(2.7.3框架),我收到损坏的图像,我无法确切地了解问题。如果是代码(内存...)SDWebImage损坏的图像

(注: 我得到使用SDWebImage项目,而不是框架的同样的错误 我执行“自动释放”等多种内存管理 这个问题。出现在设备上总览,但不是在模拟器)

enter image description hereenter image description here

__block CALayer *layerCover = [[CALayer alloc] init]; 
    layerCover.frame = CGRectMake(3, 3, COVER_WIDTH_IPAD_SMALL, COVER_HEIGHT_IPAD_SMALL); 
    [btn.layer addSublayer:layerCover]; 

    [_scroll addSubview:btn]; 
    [btn release]; 

    //request or load Vods Images 
    [[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@M", vod.cover]] 
               delegate:self options:SDWebImageProgressiveDownload success:^(UIImage *image, BOOL cached) { 
                if (image) { 
                 layerCover.contents = (id)image.CGImage; 
                } 
                [layerCover release]; 
               } failure:^(NSError *error) { 
                [layerCover release]; 
               }]; 

//另一种

enter image description here

UIImage * imageTv = [UIImage imageNamed:@"bgDefaultTvImage.png"]; 
UIImageView * bgTvImage = [[UIImageView alloc] initWithFrame:CGRectMake(startX, 20, imageTv.size.width, imageTv.size.height)]; 
[bgTvImage setImage:imageTv]; 

CGFloat sizeWithIcon = imageTv.size.width; 
CGFloat sizeHeightIcon = imageTv.size.height; 
__block UIImageView * bgImageicon = [[UIImageView alloc] initWithFrame:CGRectMake((bgTvImage.frame.size.width-sizeWithIcon)/2, 
                      (bgTvImage.frame.size.height-sizeHeightIcon)/2, 
                      sizeWithIcon, 
                      sizeHeightIcon)]; 
bgImageicon.contentMode = UIViewContentModeScaleAspectFit; 
[bgTvImage addSubview:bgImageicon]; 
[tvTopView addSubview:bgTvImage]; 

/* 
* Request ProgramImage 
*/ 
[[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@&width=300",program.ProgramImage.imageURL]] 
               delegate:self options:SDWebImageProgressiveDownload success:^(UIImage *image, BOOL cached) { 
                if (image) { 
                 iconCanal = image; 
                 [bgImageicon setImage:iconCanal]; 
                } 
                [bgImageicon release]; 
               }failure:^(NSError *error) { 
                [bgImageicon release]; 
               }]; 

Xcode的日志:

<Error>: ImageIO: JPEG Corrupt JPEG data: bad Huffman code 
<Error>: ImageIO: JPEG Corrupt JPEG data: premature end of data segment 
+0

我刚才看到有同样问题的“路径”的应用程序... – silvaric

+0

你找到了一个解决方案? – hgoz

+0

不,但有时候会发生 – silvaric

回答

0

这似乎是SDWebImageProgressiveDownload标志的问题。尝试禁用它,例如像这样:

[[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@&width=300",program.ProgramImage.imageURL]] 
              delegate:self options:0 success:^(UIImage *image, BOOL cached) { 
               if (image) { 
                iconCanal = image; 
                [bgImageicon setImage:iconCanal]; 
               } 
               [bgImageicon release]; 
              }failure:^(NSError *error) { 
               [bgImageicon release]; 
              }]; 
+0

我改变了但是等于... :( – silvaric