没有合适的资源?快使用搜索试试~ 我知道了~
IOS内存管理Delegate与IOS下Speex语音压缩开发
5星 · 超过95%的资源 需积分: 9 48 下载量 103 浏览量
2013-04-12
18:53:52
上传
评论
收藏 1.61MB PPTX 举报
温馨提示
试读
40页
IOS的内存管理详解。 Delegate具体详解,使用流程。 Speex的语音压缩技术。 完整详细解读。40页,通俗简单,深入浅出,并有代码示例ppt。
资源推荐
资源详情
资源评论
OC 内存管理的分享体会
IOS 下的 Speex 语音压缩
IOS 开发介绍
IOS 开发采用的 Objective-C 作为主要的开发语言。
尽管作为 C 语言的升级版,但 Objective-C 的语法还
是需要初学者用一段时间来适应和学习的。
在谈论 Speex 前,我们先来谈论一下作为 OC 开发
下的两大利器:内存管理和 Delegate 。
Objective-C 的内存管理:
与 Java 相比,尽管 OC 的执行效率更高,但也依然继承了 C 中烦
人的指针操作,同时还需要我们对垃圾回收进行更多的人为操作。新的
ARC 机制的引入,使得在内存管理方面上变得简便,但也更多的增加
了风险和隐患。
通常有两种主要的错误举动致使内存管理方面出现问题:
1 释放或覆盖了目前仍在使用的数据 or 对象,导致内存异常。
2 没有释放那些不再使用的数据 or 对象 , 导致内存泄漏。
Objecve-C 的内存管理
引用计数的介绍和用处:
先来说下, Objective-C 中的每一个对象都有一个引用计
数( retainCount )。系统会通过这个引用计数来当做
依据,从而决定是否对该对象进行回收清理。
只要 retainCount 大于零,对象就是存在并有效地。
alloc 和 copy 创建的对象,其 retainCount 等于 1.
retain 不创建新对象,是在原对象的 retainCount 加 1.
release 是在该对象的 retainCount 减 1.
当 retainCount 减少到零,对象就会被系统清理回收。
dealloc 清理对象是自动调用的,不要蛋疼的想去调用它。
dealloc 是单行路,一旦调用了就不会返回,同时被清理
的对象也就再也找不回来了。
Objecve-C 的内存管理
Objective-C 的内存管理的原则:
1 谁创建,谁释放。
2 你可以通过 retain ,来获得数据对象的所有权。
3 释放那些你不再需要了的对象的所有权。
4 你不能释放那些非你拥有的对象的所有权。
Objecve-C 的内存管理
谁创建,谁释放!
谁创建的对象,谁就拥有这个对象的所有权,谁就负责对该对象进行释放。
这里的创建是包含 alloc , (retain , copy , mutableCopy) ,除 retain 外,
通过这些方法都会为对象分配了新的内存空间,因此在使用后,需要销毁对象,
回收该内存空间。
Alloc
Retain
copy
剩余39页未读,继续阅读
raultld
- 粉丝: 0
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页