自动释放池是什么时候创建的?又是什么时候销毁的?
原题:
思考:
1,有返回值的类方法创建出来的对象都是autorelease的。
autorelease对象出了作用域后,就会被添加到自动释放池中。
如果largeNumber非常大,有可能在一个for中就把自动释放池填满,内存消耗非常大!
2,解决方案:在for循环内加自动释放池。每执行一次for,就释放一次。能够保证内存的平缓。
虽然要多次创建和销毁释放池,但是亲测,真正的执行效率几乎和在外部创建自动池一样。
应用程序启动***入口****屏幕触摸事件*****运行循环接收到触摸事件后,创建响应者链条事件******创建自动释放池****** 应用程序处理事件(程序员写的代码)******在运行循环结束前倾倒释放池(发送release)*****程序休眠,等待用户下一次交互
响应者链条