标签:
我们知道,内存分为栈,堆,块。
栈中的内存由系统自己释放,堆是存对象初始化的地方,块是CPU与内存连接的缓冲器,运行速度比内存快,比CPU慢。
例如,我们NSMutableArray *array = [NSMutableArrar new];
NSMutableArray *array就在栈中,NSMutableArray类型的指针。[NSMutableArray new]开辟的内存在堆中,我们可以理解为
NSMutableArray *array --->[NSMutableArrar new];
栈中的指针指向堆中的对象。
我们用static或者const关键字定义常量,一般在内存块中开辟内存空间。在块中开辟内存空间的对象读写速度最快,但是我们要注意,块的内存很小。
block代码是在块中执行的,所以它的运行速度要比delegate等效率高。但是使用block容易造成内存泄露。
原因在网上找到了:http://www.cnblogs.com/hanjun/p/3767394.html
标签:
原文地址:http://www.cnblogs.com/hansIOS/p/5228352.html