iOS的内存分配

2018-03-18  本文已影响154人  雪山飞狐_91ae

iOS中的内存大致可以分为代码区,全局/静态区,常量区,堆区,栈区。

int a = 1;//全局比那辆分配在全局/静态区

static int b = 2;//静态全局变量分配在全局/静态区


- (void)viewDidLoad {
    [super viewDidLoad];
  
    static int c = 3;//静态局部变量分配在全局/静态区
    
    int d = 4;//自动变量分配在栈区
    NSString *string = @"abcd";//string自动变量分配在栈区,后面的字符串常亮分配在常量区
    NSArray *array = [[NSArray alloc] init];//array自动变量分配在栈区,后面创建的oc对象分配在堆区,栈区的指针指向堆区的对象。
    
    
}

栈区和堆区的比较

上一篇下一篇

猜你喜欢

热点阅读