关于NSString的堆与栈问题

Instumenrs并不是能100%检测到所有的内存泄漏,内存管理还得严格按照oc的内存管理规则来看,这里肯定会有内存泄漏的。 NSString *str =[[NSString alloc]initWithString:@"4321"]; 通过alloc分配内存空间,这个时候空间是分配到堆上的。 str = @"123"; 这个时候是一个字符串常量,存储空间在栈上。 在堆上的空间需要程序员自己管理(也就是需要自己去申请alloc,和自己去释放release) 在栈上的空间是自动分配和回收的

你可能感兴趣的:(关于NSString的堆与栈问题)