Objective -C内存管理
来源:互联网 发布:mac php环境配置 编辑:程序博客网 时间:2024/06/01 19:58
手动内存管理的基本概念
面试会被问到
一:创建对象
1:分配内存空间,存储对象
2 : 初始化成员变量
3:返回对象的指针地址
二:
1:对象在创建完成的同时,内部会自动创建一个引用计数;这个计数器,使系统用来判断是否回收对象的唯一依据,当我们的引用计数
retainCount=0,系统会毫不犹豫回收当前对象。
2:[对象 release],release对象方法,每调用一次,retainCount-1。
3:[对象 retain],retain对象方法,每调用一次,retainCount+1;返回self
4:当retainCount=0,对象被销毁
由于Xcode创建项目时默认ARC机制,学习手动内存管理时需要关掉ARC机制。
5:dealloc函数,当一个对象要被销毁时,系统会自动调用dealloc函数,通知对象将要被销毁。
内存管理原则(配对原则):只要出现了 new,alloc,retain,就一定配对出现一个release,autorelease
/// main.m// 01-手动内存管理基本概念//// Created by aplle//#import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]){ @autoreleasepool { // 1 Person * p = [[Person alloc] init]; NSLog(@"%lu",p.retainCount); // 2 [p retain]; NSLog(@"%lu",p.retainCount); // 1 [p release]; NSLog(@"%lu",p.retainCount); //0 [p release]; } return 0;}
//// Person.m// 01-手动内存管理基本概念////#import "Person.h"@implementation Person-(void)dealloc{ //在对象自身被销毁之前,一定要先调用[super dealloc]释放父类中的相关对象 [super dealloc]; NSLog(@"Person 被销毁了");}
0 0
- objective-c内存管理
- Objective-c 内存管理
- Objective-C内存管理~~
- Objective-C内存管理
- Objective-C 内存管理
- Objective-C 内存管理
- Objective-C 内存管理
- Objective-C内存管理
- objective-c 内存管理
- objective-c 内存管理
- Objective-C 内存管理
- Objective-C内存管理
- Objective-C 内存管理
- objective-c内存管理
- objective-c内存管理
- Objective-c 内存管理
- Objective-C 内存管理
- Objective-C 内存管理
- 分享一下source insight 3.5的快捷配置及我的utils.em
- 5个强大的Java分布式缓存框架推荐
- Duang ! P6 PPM 说好的R9呢?
- SGU124 Broken line
- scala编程--scala基础特征
- Objective -C内存管理
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
- Android 之 SQLite数据库 查询数据库
- [cernRoot]How to get tree name from root file
- 【HDU】2817-A sequence of numbers(快速幂)
- Android中Toast的几种用法
- 能完全通过声音控制的,除了你家楼道里的灯泡,原来还有这么多产品
- Java做服务器开发语言
- ftrace 简介