AsyncImageView icon indicating copy to clipboard operation
AsyncImageView copied to clipboard

App Crashes using AsyncImageVew

Open rkoirala opened this issue 10 years ago • 2 comments

Thanks AsyncImageView is a perfect library for loading images asynchronously . I have used this library many time but when I use to load many images in paging the app crashes. Its a memory problem I guess.

Here's my piece of code:

self.asyncImageView = [[AsyncImageView alloc]init]; self.asyncImageView.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height); self.asyncImageView.contentMode = UIViewContentModeScaleAspectFit; self.asyncImageView.imageURL = [NSURL URLWithString: self.imageUrl]; self.asyncImageView.userInteractionEnabled = YES; [AsyncImageLoader sharedLoader].cache = [AsyncImageLoader defaultCache];

[self addSubview : self.asyncImageView]; 

I have used asyncImage to page many images.

Thanks in advance

rkoirala avatar Jan 19 '14 05:01 rkoirala

The code looks OK, although this line is redundant since it's the default anyway:

[AsyncImageLoader sharedLoader].cache = [AsyncImageLoader defaultCache];

Can you post more of the code? - where is this code used exactly? In a table view?

nicklockwood avatar Jan 20 '14 13:01 nicklockwood

I have used asyncImageView for paging : code is as follows -(void) showPapers{

NSString *urlString = self.url;

NSArray *imageLinks = [[NSArray alloc] init];
imageLinks = [Utils htmlParsing: urlString];
for (int i = 0; i < imageLinks.count; i++) {

    CGRect frame = [self.view frame];
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    self.zoomView = [[ZoomScrollView alloc] initWithFrame:frame];
    self.zoomView.frame = frame;
    self.zoomView.navigationController = self.navigationController;

    self.zoomView.imageUrl = [imageLinks objectAtIndex: i];
    [self.zoomView initImageView];

    [self.scrollView addSubview: self.zoomView];
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * imageLinks.count, self.scrollView.frame.size.height);

}

2.Code for ZoomScrollView is as follows:

  • (void)initImageView {

    //self.imageUrl = [[NSString alloc] init]; self.tag = IMAGE_VIEW_TAG; self.asyncImageView = [[AsyncImageView alloc]init]; self.asyncImageView.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height); self.asyncImageView.contentMode = UIViewContentModeScaleAspectFit; self.asyncImageView.imageURL = [NSURL URLWithString: self.imageUrl]; self.asyncImageView.userInteractionEnabled = YES; [AsyncImageLoader sharedLoader].cache = [AsyncImageLoader defaultCache];

    //get image view AsyncImageView *aImgeView = (AsyncImageView *)[self viewWithTag:IMAGE_VIEW_TAG];

    //cancel loading previous image for cell [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget : aImgeView];

    [self addSubview : self.asyncImageView];

    // Add gesture,double tap zoom imageView. UITapGestureRecognizer *doubleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; [doubleTapGesture setNumberOfTapsRequired:2]; [self.asyncImageView addGestureRecognizer:doubleTapGesture];

    float minimumScale = self.frame.size.width / self.asyncImageView.frame.size.width; [self setMinimumZoomScale:minimumScale]; [self setMaximumZoomScale:3.5]; [self setZoomScale:2.5]; }

App crashes when I view 5-6 images. Please help me finding a solution. Thank you

rkoirala avatar Jan 21 '14 05:01 rkoirala