zoukankan      html  css  js  c++  java
  • 内存管理问题

    什么是堆,程序员分配释放(储存OC对象),如new、 alloc init等需要使用完后dealloc释放内存

    什么是栈,编译器自动分配释放   ,存放函数的参数值,局部变量的值。(由系统自动收回)

    静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。

    为什么基本数据类型使用弱指针,不需要自己去释放?

    答:OC的对象以堆的方式分配内存,堆区的内存需要程序员自己去回收。非OC对象则放在栈区,由系统自动去回收。(堆里面的内存是动态分配的,所以也就需要程序员手动的去添加内存、回收内存)

     static作用

    修饰局部变量:

    1.让局部变量只初始化一次 

    2.局部变量在程序中只有一份内存

    3.分配在静态存储区,该变量在整个程序执行期间不释放,其所分配的空间始终存在

    4.改变了局部变量的生命周期(只到程序结束,这个局部变量才会销毁)

    修饰全局变量:

    1.该变量的作用域只限于本文件模块(全局变量的作用域仅限于当前文件,即被声明的文件中)如单例的声明

  • 相关阅读:
    开发流程
    团队模式
    android studio 中点击button加1或者减1
    登录注册界面的测试点
    用在线工具processOn画UML的用例图和时序图
    android studio中R文件丢失了
    第一次迭代任务
    WBS(work Breakdown Structure)
    #“速达” app NABCD分析
    “速达”app电梯演说
  • 原文地址:https://www.cnblogs.com/mojiewei/p/6424531.html
Copyright © 2011-2022 走看看