I am trying to work out allocating and de-allocating memory, and just can't seem to get it right for the purpose I want. Basically, I am using UIImage to display in-game animation and also extras such as Instructions. For example, as I only have a few instructions pages, when tapping on the Instructions button, I un-hide an instructions UIButton, which fills the screen and allows you to tap it to go to the next page, and hides again after the last one (I didn't think it was worth setting up a seperate ViewController class just for a few pages of info). To concerve memory, what I'd ideally like to do is load the images all together when needed, then have them de-allocated when finished with (so when a game is finished and you return to the menu, the in-game characters will be de-allocated, and the same for the instructions after the last page is displayed). Then of course, I'd load up a new set only when needed again. This would be helpful for the game section mostly, as different PNG's might be loaded for each game. So I want them de-allocated at the end of play to make room for new ones. However, it would be useful for other sections such as the instructions pages too. Anyway, unfortunately, I have 2 books and can't find ANYWHERE in either one, any tutorial on getting PNG's into memory, displaying and/or animating them, then de-allocating them. My one book "Beginning iPhone Development" uses "UIImage imageNamed" to load images into the project, and they warn that it is a "convenience class" which uses the autorelease pool. But that is the ONLY way I know to load images as that's the only way it flippin' shows me!!! Attached is a sample of my code (it is the method that is called when you either tap the instructions button in the menu, or tap the instruction page button if it is already displayed). It loads the instruction pages into an array, and I call on the objects in the array to then display the appropriate page. You can see I try to allocate memory to the image and then de-allocate later, but I know it isn't working properly when I use NSLog to display the retain count, which seemingly gets confused by the "UIImage imageNamed" command, which ties in with what my book said about it. But like I said, I don't know of any other way, thanks to these two "tutorial" books not telling me. Could someone please look over the code to see if it is the right way to go about it, and perhaps tell me a way to load images in so they can be released manually? Thank you. What's really annoying me is my game doesn't crash at all now, except for when I access the instructions, and I get a 101 error, which is memory related.