【0 - 1】OC内存管理
2024-10-19 11:59:25
一、内存管理概述
- 垃圾回收机制(GC):由系统管理内存,程序员不需要管理。
- OC中的垃圾回收:在OC2.0版加入垃圾回收。
- OC与iOS:OC有垃圾回收机制,但是iOS屏蔽了这个功能。原因:iOS运行在移动设备上,硬件资源有限(内存、电量,发热控制等方面),而垃圾回收机制有一定弊端(以java的垃圾回收机制为例,它的垃圾回收并不是当程序结束之后,立刻回收内存,而是当程序需要内存,而剩余内存不够当前申请内存的程序使用时,才进行内存的回收)。即OC有垃圾回收机制,iOS平台屏蔽了OC垃圾回收的功能,而Mac os x是有GC的。
- 因此,在iOS平台进行软件开发,需要程序员进行内存的管理。
二、iOS的内存管理
内存管理的范围:内存管理管理的是 堆区 的内存
iOS通过引用计数管理内存。在iOS5.0之后,Xcode又加入了ARC(自动引用计数),简化了内存管理。
iOS上的内存管理方式分为MRC和ARC。两者的区别在于MRC是由程序员使用引用计数,管理内存;而ARC是由系统自动管理引用计数。
内存管理的原则:
自己创建的对象,自己持有
非自己创建的对象,自己也能持有
不再需要自己持有对象时,释放对象
非自己持有的对象无法释放
最新文章
- 利用Nginx实现域名转发 不修改主机头
- JVM1.6 GC详解
- JavaScript中 window.parent 、window.top、window.self代表的含义
- SiteFactory简单配制
- 通过sqlplus导出数据到csv
- NPOI 添加行
- iOS 清理缓存功能实现第一种方法
- Weblogic环境下hibernate、antlr类加载冲突问题分析及解决方案
- As of ADT 14, resource fields cannot be used as switch cases
- iOS打开手机QQ与指定用户聊天界面
- Linux查看物理CPU个数、核数、逻辑CPU个数 (转)
- poj3694(动态询问割桥的数目)
- PHPCMS 概念初学
- ubuntu常用命令及操作,包括安装CUDA
- Largest Rectangle in a Histogram POJ - 2559 (单调栈)
- accept与epoll惊群 转载
- SQL Server 优化总结
- CentOS6.4 下安装 jdk1.7.0_67
- C# 创建、部署、调用WebService
- php html 转义