zoukankan      html  css  js  c++  java
  • iOS开发进阶(iOS开发实战:理解内存管理)summary

    1、引用计数

    什么是引用计数、

    引用计数可以有效的管理对象生命周期,它可以帮我们记录一个对象有多少指针指向,进行很好的内存的管理!!

    例子:

    假设在一个办公室里面只有一个照明设备,第一个上班进入的人把灯打开,然后持续的进来咯两个人,如果我们没有记住现在在办公室有多少人,而第一个人离开的时候把灯直接关掉,会导致另外两个人没有照明,进行不了工作!!

    所以引用计数就是把这些人都记录下来,办公室现在究竟还有多少人,如果有人在的时候依然照明,一直直到没有人的时候才把灯关掉!!这样可以当有人时候没有照明的问题,从而进行更好的工作!!

    不要向一个已经释放的对象发送消息

    如果向一个释放的对象发送消息:有时候也会出现程序崩溃的情况,当object对象所占的内存被复用的时候,就会出现程序崩溃的情况。

    循环引用:

    一个使用weak一个使用strong问题:
    {
    现在有A、B两个对象
    然后A持有对象B、B持有A
    因为对象A的销毁依赖对象B的销毁,而对象B依赖对象A的销毁,即使外面没有任何指针指向她们,它们也无法释放,造成强引用循环的情况下要在合理的一方使用弱引用
    }

    只不过在ARC中我们就不需要手动的去管理这些问题咯,因为系统会帮们在需要释放的时候帮我们做释放!!

  • 相关阅读:
    [五]SpringMvc学习-Restful风格实现
    [四]SpringMvc学习-对servlet与json的支持与实现
    [三]SpringMvc学习-封装、乱码问题、重定向、转发
    Android-aidl, binder,surfaceview
    linux memory dump--http://www.forensicswiki.org/wiki/Tools:Memory_Imaging
    Vanish/squid
    dongle --NFC
    词频统计 in office
    各种小巧的Hello World
    程序入口函数和glibc及C++全局构造和析构
  • 原文地址:https://www.cnblogs.com/happyEveryData/p/5574057.html
Copyright © 2011-2022 走看看