集合的内存管理
来源:互联网 发布:linux jre1.6 编辑:程序博客网 时间:2024/04/28 12:28
一:手动集合内存管理
创建一个Person 类,调用时
Person *p = [[Person alloc]init];
NSMutableArray *array = [[NSMutableArray alloc]initWithCapacity:0];
//当把对象存入到数组(或者字典、NSSet)中的时候,数组会对这个对象进行一个retatin操作
[array addObject:p];
//当把一个对象移除数组的时候,会对这个对象进行一次release操作
[array removeObject:p];
//会对数组中所有的对象进行一次release操作
[array removeAllObjects];
//当集合对象被销毁的时候,会对其内部所有的对象进行一次 release 操作
[array release];
[p release];
二:ARC机制 集合内存管理
ARC机制也是需要担心内存溢出的。当在某些集合(NSArray,NSDictionary,NSSet) 中存储了对象的强指针,如果不清空、释放对象,还是会导致内存溢出
Person *p = [[Person alloc]init];
NSMutableArray *array = [[ NSMutableArray alloc]init];
//当一个对象被存入集合中时候,默认会保存它的强指针
[array addObject:p];
//当把一个对象从集合中删除的时候,会释放掉这个对象的强指针
//[array removeObject:p];
//[array removeAllObjects];
//会释放掉内部的所有强指针
array = nil;
p= nil;
- 集合的内存管理
- 集合的内存管理
- Objective-C 集合对象的内存管理
- iOS集合对象的内存管理
- 集合对象的内存管理、copy概念
- 133,集合中对象的内存管理
- 集合(数组/字典/集)的内存管理
- OC集合内存管理
- 集合内存管理
- Foundation框架-08 集合对象的内存管理
- iOS 内存管理~非集合对象的copy和mutableCopy
- iOS 内存管理~集合对象的copy和mutableCopy
- OC语法<4.5> Foundation框架中-集合的内存管理和集合之间的相互转换
- NSCopying协议的使用,setter和getter方法的作用,内存管理高级,集合的内存管理
- Objective-C 【集合对象内存管理】
- OutMan——集合对象的内存管理、copy的介绍及使用
- 【集合中的内存管理,常用结构体,基本数据类型和包装数据类型的转换 NSDate】
- 黑马程序员——Objective--C笔记Foundation之NSArray,集合对象的内存管理
- 黑马程序员 第五篇 Java I/O (foundation, completed)
- jquery手动添加/移除对应的字段校验
- Dialog显示手机android安装的app信息
- 安装Sublime
- Linux下快速安装Mysql及使用
- 集合的内存管理
- leetcode 66: Plus One
- Scikit-Learn:开源的机器学习Python模块
- android linux(centos6) gradle环境配置
- IIFE (Imdiately Invoked Function Expression 立即执行的函数表达式)。
- 读“大师”王林的互联网思维有感
- asp.net 5 新特性简述(学习笔记)
- AudioManager的简单使用
- MD5加密