所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。...启动app时,系统会把开启的app程序从ROM中转移到RAM中。...堆区
堆区的内存分配使用的是alloc;
堆区的地址是从低到高分配;
ARC原理是基于堆区,编译器在编译的时候给对象自动添加retain,release,autorelease;
在ios中,堆区的内存是应用程序共享的...,堆中的内存分配是系统负责的;
全局区
包括2个部分:未初始化和初始化; 也是说,在内存中是放在一起的,比如:int a;未初始化, int a = 10 初始化的 2者都在全局区/静态区;
常量区:...,速度快;
当一个app启动后,代码区,常量区,全局区大小都是已经固定的,因此指向这些区的指针不会产生崩溃性的错误,而堆区和栈区是时时刻刻变化的(堆得创建和销毁,栈的弹入和弹出),所以当使用一个指针指向这个