iOS Interview Prep 2 — Autorelease Pool
The purpose of this interview preparation series is to assist you in quickly refining your interview skills and thoroughly preparing for the typical questions asked during an iOS interview. If you find it useful, please leave a comment or tap the like button.
Interview Questions
- Can you explain what is an autorelease pool?
- Can you explain how it works?
- How does ARC (Automatic Reference Counting) work with
autoreleasepool
in iOS development? - What are common use cases of autorelease pool?
How it works?
Autorelease pool is an object that manages the memory of multiple objects allocated in a block of code. It provides a mechanism whereby you can relinquish ownership of an object, but avoid the possibility of it being deallocated immediately. It works by keeping track of all the objects that are created within a specific block of code.
All the objects created inside the block will receives a release message for each time it was sent an autorelease message. An autorelease pool is actually a collection of objecst that will be released at some point in the future. When pool is drained all the objects in the pool are sent the release message.