2012-01-20 68 views
1
//NsMutableArray 
//Received memory warning, while using animations in UIImageview like; 
self.imageArray = [[NSMutableArray alloc] initWithCapacity:IMAGE_COUNT]; 

// Build array of images, cycling through image names 
if (![self.imageArray count]>0) { 
    for (int i = 0; i < IMAGE_COUNT; i++){ 
     if (i<10) { 
     [self.imageArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image000%d.jpg", i]]]; 

     }else { 

     [self.imageArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image00%d.jpg", i]]]; 

     } 
    } 
} 

/////Received memory warning, while using animations in UIImageview 
self.animatedImages.animationImages = [NSArray arrayWithArray:self.imageArray]; 
[self.imageArray release]; 
self.imageArray=nil; 

// One cycle through all the images takes 1.5 seconds 
self.animatedImages.animationDuration = 0.8; 
// Repeat forever 
self.animatedImages.animationRepeatCount = -1; 
[self.animatedImages startAnimating]; 
+0

而你的問題是? –

回答

1

更換

[UIImage imageNamed:[NSString stringWithFormat:@"image000%d.jpg", i]] 

[UIImage imageWithData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"image000%d.jpg", i] ofType:nil]]]; 

因爲API imageNamed:緩存數據在內存中。

+0

謝謝拉克什。很快就會在設備上檢查它。 – Wish