一,内存管理类型定义
1,基本类型 任何C的类型,eg:
int,short,char,long,long long,struct,enum,union等属于基本类型或结构体
内存管理对于C语言的基本类型无效
2,OC类型(非基本类型)
任何继承于NSObject类的对象都属于OC类型
也就是除了C之外的其他类型
二,OC对象结构
所有OC对象都有着一个计数器,保留着当前对象被引用的数量,如果计数器为0,那么就真正的释放这个对象。
三,alloc retain release 函数
1, alloc函数是创建对象使用,创建完成后计数器为1(只用一次)
retain是对一个对象的计数器+1 (可以多次调用)
release是对一个对象计数器-1(减到0 对象就会从内存中释放)
2,oc类中实现了引用计数器,对象知道当前被引用的次数。
如果需要引用对象,可以给对象发送一个retain消息,这样对象计数器就+1;
当不需要引用对象了,可以给对象发送release消息,这样对象计数器就-1;
当计数器减到0,自动调用对象的dealloc函数,对象就会释放内存;
计数器为0的对象不能再使用release和其他方法。
四,自动释放池
自动释放池是OC的一种内存自动回收机制,可以将一些临时变量通过自动释放池来统一回收释放。
当自动释放池本身销毁的时候,池子里面所有的对象都会做一次release操作。
任何OC对象只要调用autorelease方法,就会把该对象放到离自己最近的自动释放池中(栈顶的释放池)。
五,不是用alloc,retain,copy创建的对象,不能使用release释放。
分享到:
相关推荐
"IOS学习笔记补充1"是对前期学习内容的进一步丰富和完善,旨在帮助开发者更好地理解和掌握iOS开发的关键知识点。这份笔记不仅适用于初学者,对于有一定经验的开发者来说,也是一个有价值的参考资料。 在iOS开发中,...
以下是对标题和描述中提及的iOS学习笔记的关键知识点的详细解释: 1. **类的声明和实现**: - OC中的类由`.h`和`.m`两个文件组成,`.h`文件负责声明属性和方法,`.m`文件实现这些声明。 2. **继承与Foundation...
在iOS开发中,理解内存管理是至关重要的。本文档将详细介绍iOS开发中的内存分配机制,包括不同区域的内存分配方式及其特点。 #### 二、虚拟内存与物理内存 在iOS应用开发过程中,内存管理主要依赖于虚拟内存系统。...
综上所述,这份"iOS学习笔记"涵盖了Swift编程、UIKit框架、数据管理、网络编程、UI设计、通知服务以及测试与优化等多个重要领域,是全面学习iOS开发的宝贵资料。通过深入学习和实践,你可以逐步成为一名熟练的iOS...
本文将深入探讨从标题和描述中提及的iOS学习笔记,特别是关于OC面向对象编程的一些关键概念和实践。 面向对象编程(OOP)是OC的核心,它强调通过封装、继承和多态来组织代码。在OC中,类(Class)是对象的蓝图,...
在“ios开发学习笔记(三)”中,博主可能还会讨论调试技巧,如使用Xcode的调试器,理解断点、变量观察以及性能分析工具。此外,可能会涉及多线程编程,如GCD(Grand Central Dispatch)和OperationQueue,以及内存...
本文档基于给定的“iOS学习笔记”,深入探讨iOS应用程序生命周期的关键概念、阶段以及如何处理这些阶段。 #### 二、基础知识 **1.1 入口点:** iOS应用的入口点位于`main.m`文件中的`main`函数。此函数通过调用`...
- **加载图片要及时 release**: 加载图片后应该及时释放内存,避免内存泄漏。 - **在 UIImageView 中旋转图像**: 使用 `transform` 属性来旋转图像。 - **在 Quartz 中如何设置旋转点**: 通过设置 `...
iOS学习笔记 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, 青丝化雪、鬓角成霜,已是英雄迟暮,人生怎慷慨激昂? 目录 内存管理(五) ...
3. **内存管理**:OC使用引用计数进行内存管理,笔记会讲解`retain`、`release`、`autorelease`等关键字的使用,以及ARC(Automatic Reference Counting)自动引用计数的原理和实践。 4. **类别与分类**:OC允许对...
C语言提供了丰富的数据类型,如整型(int)、字符型(char)、浮点型(float, double)等,以及指针类型,使得内存管理更为灵活。 在学习C语言的过程中,变量是关键概念之一。变量是存储数据的容器,有特定的数据...
本压缩包提供的学习资料涵盖了OC语言的基础到高级特性,结合代码实例和详细笔记,是iOS开发者深入理解OC语言的宝贵资源。 一、Objective-C基础 Objective-C是C语言的超集,它引入了面向对象的概念,如类、对象、...
在本学习笔记B02中,我们将深入探讨Xamarin.iOS下的应用启动机制,主要包括以下关键知识点: 1. **Xamarin基础知识**:Xamarin是一种跨平台的移动开发框架,它允许开发者使用C#语言编写代码,生成原生的Android、...
以上内容仅是这份“iOS开发笔记”的概览,实际文档中将有更深入的讲解和示例代码,以确保开发者能够系统性地学习和实践iOS开发。通过这些笔记,无论是新手还是老手,都能提升自己的iOS开发技能,为构建高质量的iOS...
然而,对于小型项目或需要独立管理的界面部分,使用Xib更加合适,因为它可以单独编译和加载,减少了应用启动时的内存占用。 在Xamarin中,开发者可以利用Visual Studio for Mac或者Visual Studio中的Interface ...
9. **内存管理**:FireMonkey 使用垃圾回收机制,自动管理内存,减少了内存泄漏和资源管理的困扰。 10. **网络和设备访问**:FireMonkey 提供了一系列的API,可以方便地访问设备硬件、网络服务和系统功能。 **学习...
【标题】:“IOS 开发笔记” 【描述】:“IOS 开发总合”涵盖了iOS应用程序开发的各个方面,包括Swift编程语言、iOS SDK、Xcode集成开发环境、用户界面设计、网络编程、数据存储、多线程、性能优化以及Apple的App ...
在iOS学习过程中,我们会...在53.study__ming1016这个文件中,可能包含了相关的学习笔记、代码示例或者项目实践,这将对你的iOS学习之路大有裨益。继续探索和实践,你将能够创建出功能丰富、用户体验优秀的iOS应用。