Package com.google.j2objc.annotations
Annotation Type AutoreleasePool
Annotation that indicates the translator should inject an autorelease pool
around the method body. Only valid on methods that don't return anything.
Useful in high-level contexts to ensure that temporary objects allocated within the method or loop are deallocated.
Example usage:
// Temporary objects allocated during execution of this method will
// be deallocated upon returning from this method.
@AutoreleasePool
public void doWork() {
...
}
public void doWork(Iterable<Runnable> workToDo) {
// Adding @AutoreleasePool on the loop variable causes a separate
// autorelease pool to be attached to each loop iteration, clearing
// up temporary objects after each iteration
for (@AutoreleasePool Runnable item : workToDo) {
item.run();
}
}
- Author:
- Pankaj Kakkar