• 【0


    一、内存管理概述

    • 垃圾回收机制(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是由系统自动管理引用计数。

      内存管理的原则:

    1. 自己创建的对象,自己持有

    2. 非自己创建的对象,自己也能持有

    3. 不再需要自己持有对象时,释放对象

    4. 非自己持有的对象无法释放

  • 相关阅读:
    windows64系统下安装 redis服务 (详细)
    周期信号的傅里叶级数表示
    LeetCode 36——有效的数独
    LeetCode 3——无重复字符的最长子串
    线性时不变系统的卷积
    信号与系统
    C++ 学习笔记之——输入和输出
    LeetCode 74——搜索二维矩阵
    LeetCode 389——找不同
    LeetCode 2——两数相加
  • 原文地址:https://www.cnblogs.com/jiangdaohong/p/4338335.html
Copyright © 2020-2023  润新知