Skip to main content

Use a pool to spawn images



Hi every one here is my code:







-(void) createNewImage {





[imageView setCenter:[self randomPointSquare]];

[[self view] addSubview:imageView];



[views addObject:imageView];

[imageView release];



ix=imageView.center.x;

iy=imageView.center.y;

[XArray addObject:[NSNumber numberWithFloat:(240 - ix)/diviseurVitesse]];

[YArray addObject:[NSNumber numberWithFloat:(160 - iy)/diviseurVitesse]];







}







-(void)moveTheImage{

for (NSUInteger i = 0; i < [views count]; i++) {

imageView = [views objectAtIndex:i];

X = [[XArray objectAtIndex:i] floatValue];

Y = [[YArray objectAtIndex:i] floatValue];

imageView.center=CGPointMake(imageView.center.x + X, imageView.center.y + Y);







} With this code, image are created and move to the center of the screen but after some seconds the performance decrease and come to 30fps. I would like to keep fps at 60 but I don't know how to proceed.Some people say that I can use pool but it's hard for me to use it because I don't really know how to use it :/ sorry for my english I'm french :/


Comments

  1. Your problem is here - [views addObject:imageView];. Adding object to a persistent dataset like NSMutableArray retains the object, so memory consumption actually grows. Try manipulating your images in [self.view subviews] without storing them in array.

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?