Package com.google.j2objc.annotations
Annotation Type AutoreleasePool
-
@Target({METHOD,LOCAL_VARIABLE}) @Retention(SOURCE) public @interface 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