[Reading Notes] iOS-Coco memory management rules-owner objects, ios-coco management rules
1. Event loops. A typical graphic application often spends a lot of time waiting for user operations. The program remains idle until the person controlling the program runs makes a decision very slowly (for example, clicking the mouse or pressing a key. When such an event occurs, the program is awakened and started to work, and some necessary operations are performed to respond to the event. After processing this event, the program returns to the sleep state and waits for the next event to occur. To reduce the memory usage of the program, Cocoa creates an automatic release pool before the program starts to process the event, and destroys the automatic release pool after the event processing is complete. In this way, the cumulative number of temporary objects can be kept to a minimum.
2. The time when the automatic release pool is cleared is completely determined: either destroy the pool explicitly in your own code or destroy it with AppKit at the end of the event loop. You don't have to worry about how the daemon randomly destroys the automatically released pool. Because the automatically released pool will not be destroyed during function calling, you do not need to keep every object in use.
References: Basic Object-C tutorial