I create a UITableView similar to the iPod.app album view:

I import all artists and album art from the iPod library on first launch. Saving everything in CoreData and returning it to NSFetchedResultsController. I am reusing cell IDs, and in my cellForRowAtIndexPath: method cellForRowAtIndexPath: I have this code:
Artist *artist = [fetchedResultsController objectAtIndexPath:indexPath]; NSString *identifier = @"bigCell"; SWArtistViewCell *cell = (SWArtistViewCell*)[tableView dequeueReusableCellWithIdentifier:identifier]; if (cell == nil) cell = [[[SWArtistViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease]; cell.artistName = artist.artist_name; cell.artworkImage = [UIImage imageWithData:artist.image]; [cell setNeedsDisplay]; return cell;
My SWArtistViewCell cell implements the drawRect: method for drawing both a row and an image:
[artworkImage drawInRect:CGRectMake(0,1,44,44)] [artistName drawAtPoint:CGPointMake(54, 13) forWidth:200 withFont:[UIFont boldSystemFontOfSize:20] lineBreakMode:UILineBreakModeClip];
Scrolling is still volatile, and I just can't figure out why. Applications like iPods and Twitter have oily smooth scrolling, and yet they both draw a small image in the camera, just like me.
All my views are opaque. What am I missing?
EDIT : here's what the Shark says:

I am not familiar with the Shark. Any pointer on what these characters are associated with? When I look at their trail, they all point to my drawRect: method, specifically the UIImage drawing.

Would this point to something else if chokehold is reading a file? Is this definitely a drawing?
EDIT: save image
I did as pothibo suggested, and added the artworkImage method to my Artist class, which saves the image created using imageWithData:
- (UIImage*)artworkImage { if(artworkImage == nil) artworkImage = [[UIImage imageWithData:self.image] retain]; return artworkImage; }
So, now I can directly set the saved image to my TableViewCell as follows:
cell.artworkImage = artist.artworkImage;
I also set my setNeedsDisplay inside the setArtworkImage: method of my tableViewCell class. Scrolling is still lagging, and Shark is showing exactly the same results.