Objective-C加强-内存管理
2015-11-20 15:04
405 查看
内存管理:
对象如果不再使用了,就应该回收它的空间,防止造成内存泄露
内存管理范围:
所有的集成了NSObject的对象的内存管理
基本数据类型的数据(int double float char struct enum)不需要我们进行管理
内存管理的原则:
1) 如果对象有人使用,就不应该回收
如果你想使用这个对象,应该让这个对象retain一次
如果你不想使用这个对象了,应该让这个对象release一次
2) 谁创建谁release
3) 谁retain谁release
内存管理研究的内容:
1.野指针:
a)定义的指针变量没有初始化
b)指向的空间已经被释放了
2.内存泄露:
单个对象内存管理(野指针)
1.单个对象的野指针问题
单个内存泄露问题:
1.创建完成使用之后,没有release
2.没有遵守内存管理原则
3.不当的使用了nil
4.在函数中对传入的对象进行了retain
对象如果不再使用了,就应该回收它的空间,防止造成内存泄露
内存管理范围:
所有的集成了NSObject的对象的内存管理
基本数据类型的数据(int double float char struct enum)不需要我们进行管理
内存管理的原则:
1) 如果对象有人使用,就不应该回收
如果你想使用这个对象,应该让这个对象retain一次
如果你不想使用这个对象了,应该让这个对象release一次
2) 谁创建谁release
3) 谁retain谁release
内存管理研究的内容:
1.野指针:
a)定义的指针变量没有初始化
b)指向的空间已经被释放了
2.内存泄露:
单个对象内存管理(野指针)
1.单个对象的野指针问题
单个内存泄露问题:
1.创建完成使用之后,没有release
2.没有遵守内存管理原则
3.不当的使用了nil
4.在函数中对传入的对象进行了retain
相关文章推荐
- Lua的内存管理浅析
- 跟我学习JScript的Bug与内存管理
- 深入探讨PHP中的内存管理问题
- Objective-C的内省(Introspection)用法小结
- linux 内存管理机制详细解析
- 解析PHP中的内存管理,PHP动态分配和释放内存
- javascript内存管理详细解析
- JavaScript内存管理介绍
- Cocos2d-x的内存管理总结
- 模拟实现C语言中的内存管理
- javascript错误的认识不用关心内存管理
- IOS中内存管理那些事
- Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
- Objective-C中NSNumber与NSDictionary的用法简介
- Objective-C中NSLog输出格式大全
- Python深入学习之内存管理
- 全面解析Objective-C中的block代码块的使用
- Swift调用Objective-C编写的API实例
- Swift、Objective-C、Cocoa混合编程设置指南
- Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍