栈区:从高到低分配堆区:从低到高BSS段:没有初始化的数据区:代码段:OC内存管理方式:1 MRC 手动内存管理2 ARC 自动内存管理nil是给对象赋空值下个有道云笔记内存管理一.总结:1.只有OC对象才需要内存管理,基本数据类型无效2.OC对象存放在堆里面3.非OC对象一般放在栈里面(栈内存会被...
分类:
其他好文 时间:
2015-04-09 00:54:15
阅读次数:
219
// ## : 连接字符串和参数#define singleton_h(name) + (instancetype)shared##name;#if __has_feature(obj_arc)//ARC#define singleton_m(name) \static id _instance; ...
分类:
其他好文 时间:
2015-03-21 01:03:00
阅读次数:
229
iOS5.0以后就开始可以使用ARC(Automatic Reference Counting:自动引用计数)来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过...
分类:
其他好文 时间:
2015-03-19 21:50:30
阅读次数:
143
1. ARC & MRC 混合开发 在项目开发中,遇到使用MRC开发的第三方库怎么办? 例如:ASI 1> 尝试使用Xcode的转换工具(失败率比较高) 2> 在编译选项中,为MRC的程序添加-fno-objc-arc标记,表明在编译时,该文件使用...
分类:
移动开发 时间:
2015-03-14 23:23:27
阅读次数:
810
定位了项目的一个问题,居然与strong有关系。首先说明一下项目是MRC内存管理的。一个NSDictionary变量在赋值一段时间后再次访问就会出现EXC_BAD_ACCESS错误,打印日志看了一下地址没变但是内容已经看不到,估计是...
分类:
其他好文 时间:
2015-03-07 11:42:24
阅读次数:
167
一、* Core Foundation与objective-c Object进行交换 *对于Core Foundation与objective-cObject进行交换时,需要用到的ARC管理机制有:(1) (__bridge_transfer) op or alternatively CFBridgingRelease(op) is used to consume a retain-count of...
分类:
移动开发 时间:
2015-03-02 22:32:19
阅读次数:
224
掌握内容>理解内存管理的原理>掌握手动内存管理MRC>掌握内存管理在实际工程中的使用(一)1.理解部分 1.1内存管理 (传统内存管理demo)1.1.1内存管理做了一件什么事? 内存管理就是确保开辟的堆空间得到正确的释放 如果堆空间没有释放,称为内存泄露 使用已释放的堆空间,称为...
分类:
移动开发 时间:
2015-02-24 18:36:49
阅读次数:
158
假设一个project为MRC,当中要加入ARC的文件:选择target -> build phases -> compile sources -> 单击ARC的文件将compiler flags设置为:-fobjc-arc假设一个project为ARC,当中要加入MRC的文件:相同的路径,然后单击...
分类:
移动开发 时间:
2015-02-12 13:58:21
阅读次数:
140