那么,什么是事件循环呢?一个典型的图形应用程序往往花费很长时间等待用户操作。在控制程序运行的人非常缓慢地作出决定(例如单击鼠标或按下某个键)以前,程序一直处于空闲状态。当发生这样的事件时,程序被唤醒并开始工作,执行某些必要的操作以响应这些事件。在处理完这些事件后,程序返回到休眠状态并等待下一个事件发生。为了降低程序的内存空间占用,Cocoa在程序开始处理事件之前创建一个自动释放池,并在事件处理结束后销毁该自动释放池。这样可以例累积的临时对象的数量保持在最低程度。