创建:2011.05.25
# mian函数里面的NSAutoreleasePool,当每次事件循环一次后,都会释放一次缓存池的内容,因此,不是我原来想想的那样“只在程序退出时才完全释放”,看来苹果做的还是不错的。
# 如果要自定义NSAutoreleasePool的话,那么注意:
## 要使用drain,而不要调用release。这个是SDK文档中写的。主要的原因是为了兼容“有垃圾回收器时”的情况。在有gc的时候,任何对象的release都不会被调用,因此缓存池不会被释放。而且,对于非gc的情况,drain会执行和release一样的操作,也会释放缓存池。因此,只要调用drain就足够了。
## 千万要注意:如果调用了drain,就一定不要在调用release了,这样不但在gdb调试的时候有警告,而且,会导致一些对象释放的很不正常!!!!我为了这个问题,调试了一天!!
+++++