Advertise here




Advertise here

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID
Please do not post the same thing multiple times. The board software automatically flags certain posts as needing moderator attention. This happens the most often for new users. I'm pretty sure this is made clear at the time you attempt to post. Posting the same thing over and over again just makes that many more posts the moderators have to weed through later. This makes us sad. Don't make us sad. If your post/thread doesn't appear, just wait a while. Don't post it again. If it hasn't shown up by the next day, then you can try again. I normally go through posts in the mornings, and try to check a few times throughout the day, but I'm not here 24/7. There will typically be a significant delay before posts are approved. Just be patient.

writeImageDataToSavedPhotosAlbum Slows Dramatically After A Few Uses

iSkytheiSkythe Posts: 12Registered Users
I save images to the iPhone's photo album using the api "writeImageDataToSavedPhotosAlbum". However, after several uses (such as 4), it begins to take approximately twice as long each time to save.

I have created a test method to reproduce it, where it saves the exact same image each time. The method is as follows:

-(IBAction)testButton {
NSData *data = [NSData dataWithContentsOfFile:[[self photosDirectory] stringByAppendingPathComponent:[[self contentsOfPhotoDirectory] objectAtIndex:0]]];
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
__block NSDate *date = [[NSDate date] retain];
[al writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@\"Saving Time: %g\", [[NSDate date] timeIntervalSinceDate:date]);
[date release];
}];
[al release];
}


On a freshly restarted iPhone 4, I get the following save times.

2011-06-01 21:23:13.641 myapp[95:707] Saving Time: 5.30819
2011-06-01 21:23:17.101 myapp[95:707] Saving Time: 1.5311
2011-06-01 21:23:21.916 myapp[95:707] Saving Time: 2.52412
2011-06-01 21:23:25.974 myapp[95:707] Saving Time: 2.85623
2011-06-01 21:23:32.275 myapp[95:707] Saving Time: 4.93484
2011-06-01 21:23:42.024 myapp[95:707] Saving Time: 7.93288
2011-06-01 21:24:00.317 myapp[95:707] Saving Time: 15.8561
2011-06-01 21:24:33.199 myapp[95:707] Saving Time: 29.7571

What is wrong?
Post edited by iSkythe on

Replies

  • iSkytheiSkythe Posts: 12Registered Users
    After more investigating, I found the culprit was allocating memory but never releasing it. I had registered for the ALAssetsLibraryChangedNotification, and in the method that is called I allocated an instance of ALAssetsLibrary, but never released it after enumerating through it (I only released it in the failure block)
Sign In or Register to comment.