OC對(duì)象存放于堆里面(堆內(nèi)存要程序員手動(dòng)回收)
非OC對(duì)象一般放在棧里面(棧內(nèi)存會(huì)被系統(tǒng)自動(dòng)回收)
堆里面的內(nèi)存是動(dòng)態(tài)分配的,所以也就需要程序員手動(dòng)的去添加內(nèi)存佃却、回收內(nèi)存
按管理方式分
對(duì)于棧來講洲敢,是由系統(tǒng)編譯器自動(dòng)管理沉桌,不需要程序員手動(dòng)管理
對(duì)于堆來講坦冠,釋放工作由程序員手動(dòng)管理领迈,不及時(shí)回收容易產(chǎn)生內(nèi)存泄露
按分配方式分
堆是動(dòng)態(tài)分配和回收內(nèi)存的彻磁,沒有靜態(tài)分配的堆
棧有兩種分配方式:靜態(tài)分配和動(dòng)態(tài)分配
靜態(tài)分配是系統(tǒng)編譯器完成的,比如局部變量的分配
動(dòng)態(tài)分配是有alloc函數(shù)進(jìn)行分配的狸捅,但是棧的動(dòng)態(tài)分配和堆是不同的衷蜓,它的動(dòng)態(tài)分配也由系統(tǒng)編譯器進(jìn)行釋放,不需要程序員手動(dòng)管理