黑马程序员——内存管理的使用
来源:互联网 发布:网络信息发布规范 编辑:程序博客网 时间:2024/06/06 21:38
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
内容:内存管理
为什么说他难呢?因为内存如果需要我们程序员去管理的话,那个难度肯定是很大的,如果是Java,垃圾回收器会把这份工作给做了,我们不需要关心,但是就是因为如此,Android运行速度上会慢一下,原因很简单,Java的垃圾回收器有很多收集算法的,这个在回收的过程中是很浪费时间的,效率自然就低了,但是如果这份工作给程序员自己去做的话,效率上肯定会增加,但是对于程序员来说任务就比较繁重了,而且还要特别的小心,千万不能造成内存溢出和泄露。
这里我们主要从四个方面来介绍一下内存管理
1、简单的例子来了解引用计数的使用
2、set方法来控制引用计数问题
3、销毁方法来控制引用计数问题
4、初始化方法来控制引用计数问题
下面就来简单看一下OC中的内存管理
这个例子有点复杂,我们慢慢分析
Dog.h
Dog.m
Dog类中定义了name属性,并且给他提供了一个set方法
Person.h
Person类中有一个Dog的属性,然后提供了set方法。代码有点复杂,我们后面会详细说明
下面来看一下测试代码
main.m
首先如果想演示这个例子的话,需要修改一下设置:
最新的XCode默认是会自动选上ARC(Automatic Reference Counting),如果我们不把这个手动关闭的话,代码中会报错的。
alloc用来创建对象,创建完成之后,引用计数为1,只调用一次
retain使引用计数+1,可以多调用几次
release使引用计数-1,可以多调用几次
当引用计数为0的时候会调用dealloc
黄金法则:每次调用alloc一次,都需要调用release一次,他们两是成对出现的
0 0
- 黑马程序员——内存管理的使用
- 黑马程序员——内存管理的使用—例子篇
- 黑马程序员———OC的内存管理
- 黑马程序员——oc的内存管理
- 黑马程序员——OC的内存管理
- 黑马程序员——内存管理
- 黑马程序员——内存管理
- 黑马程序员——OC---内存管理
- 黑马程序员——OC内存管理
- 黑马程序员——内存管理
- 黑马程序员——OC内存管理
- 黑马程序员——内存管理
- 黑马程序员——内存管理
- 黑马程序员——【OC】内存管理
- 黑马程序员——OC内存管理
- 黑马程序员——OC内存管理
- 黑马程序员——OC内存管理
- 黑马程序员——OC内存管理
- C#中1窗口引用2窗口控件的方法
- 80端口被(Pid=4)占用的解决方法
- 策略模式
- Codeforces Round #293 (Div.2) 小记
- 本人博客说明
- 黑马程序员——内存管理的使用
- 陈焕生:深入理解Oracle 的并行执行
- iOS基本常用控件总结(UIView,UILabel,UIButton,UIImageView)
- 最新Volley框架的JAR文件生成
- OpenCL 笔记5 reconstruction application
- Android中Acition和Category常量表
- MyEclipse数据库教程:在WebSphere中创建数据源
- 数列排序
- 管理心理学第四讲.目标管理心理学 之一