【问题标题】:SDWebImage corrupt imagesSDWebImage 损坏的图像
【发布时间】:2012-11-18 16:02:41
【问题描述】:

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

(注: 我使用SDWebImage 项目而不是框架得到了同样的错误。 我正在实现“自动释放”和其他类型的内存管理。 此问题出现在设备(iPad)上,但不在模拟器中)

    __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];
                                              }];

//另一种

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

【问题讨论】:

  • 我刚刚看到“路径”应用程序有同样的问题...
  • 您找到解决方案了吗?
  • 没有,但有时会发生

标签: iphone objective-c ios ipad sdwebimage


【解决方案1】:

好像是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];
                                          }];

【讨论】:

  • 我改变了,但平等... :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 2020-12-05
  • 2020-12-19
  • 2020-02-11
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多