美文网首页
OC内存管理

OC内存管理

作者: 快乐的tomato | 来源:发表于2017-05-11 13:53 被阅读14次

一、为什么要进行内存管理

1、首先要搞清楚什么是内存

内存的详细讲解(网上有现成的就懒得去写了)。

内存的5大区域及存放的内容

内存管理的范围:任何继承NSObject的对象,其他数据类型无效。

内存管理范围

二、OC内存管理的原理

三、内存管理方式

内存泄露:person *p = [person new];

如果栈区的p已经释放了,而堆的空间还没有释放,堆去的空间就泄露了。

野指针能和僵尸对象

四、property

4.1property的属性

4.2、property内存管理的策略选择

property内存管理的策略选择

五、import和@class的区别

六、copy的理解

七、为什么会有autorelease

OC的内存管理机制中比较重要的一条规律是:谁申请,谁释放。

考虑到这种情况,如果一个方法需要返回一个新建的对象,该对象如何释放?

方法内部是不会写release方法来释放对象的,因为这样做会将对象立即释放,而返回一个空对象,

调用者又不会主动释放该对象的,因为调用者遵循“谁申请谁释放”的原则,那么这个时候,就发生了内存泄漏。

相关文章

  • 内存管理

    一.内存基本介绍 1、OC内存管理的基本概念 2、OC内存管理的范围​管理范围:管理任何继承自NSObject的对...

  • 内存管理

    目录一、内存分区 1、RAM和ROM 2、内存的五大分区二、内存管理 1、OC内存管理是指什么?OC内存管理的本质...

  • Lesson 0-1 Objective-C basic

    6.OC 手动内存管理 OC 内存管理原则: 只要使用 alloc, new, copy, mutableCopy...

  • OC的内存管理

    1、OC的内存管理 OC是通过引用计数进行内存管理的,其核心思想遵循“谁创建谁释放;谁引用谁管理”。 OC的内存管...

  • iOS之从MRC到ARC内存管理详解

    概述 在iOS中开发中,我们或多或少都听说过内存管理。iOS的内存管理一般指的是OC对象的内存管理,因为OC对象分...

  • iOS五大块知识总结之内存管理

    1.1 管理的原因 只有OC对象才需要管理内存,非OC对象(如:char、int、folat)则不需要管理内存的本...

  • iOS 中堆和栈的区别以及冒泡排序

    在引入堆和栈之前,先要知道,iOS中的内存管理范围: OC对象需要进行内存管理,非oc对象不需要进行内存管理,比如...

  • OC的内存管理

    最近系统地复习了OC的内存管理,所以总结下. OC是通过引用计数(reference count)来管理内存.自...

  • OC关于在MRC模式下的内存管理学习

    内存管理 管理范围 任何继承NSObject的对象 只有OC对象才需要进行内存管理的本质原理 1.OC对象在堆中 ...

  • 《Effective Objective-C 2.0》读书笔记(

    第五章 内存管理 第29条:理解引用计数 OC 中有手动内存管理(MRC) 自动内存管理(ARC)手动内存管理需要...

网友评论

      本文标题:OC内存管理

      本文链接:https://www.haomeiwen.com/subject/tpgntxtx.html