gpt4 book ai didi

ios - 关于Objective-C或iOS中的内存管理

转载 作者:行者123 更新时间:2023-12-01 18:09:44 24 4
gpt4 key购买 nike

大家好,这是我在此站点中的first post,我是iOS的新手。我知道这是针对编程站点的,但是我没有任何iOS专家和资源来了解我的疑问,因此请不要将我标记为negative,请尝试解决我的问题。这是我的问题:

几天前,我去我们学校接受iOS的正式面试,他们问我:

  • what is memory management in Objective-C or iOS?

  • 我说过:内存管理用于在Objective-C中管理内存的保留计数方式。创建对象时,其保留计数为1。发送对象时,其保留计数将增加1。当发送释放消息时,其保留计数将减少1。
  • what type of memory management are using like MRC/ ARC??

  • 我说:对于我们分配的MRC,保留它必须对ARC进行发布/自动发布,我们需要发布/自动发布。
    My question is:


    1. Actually is my first answer correct about memory management?

    2. From which version of iOS SDK are using ARC, MRC?

    请好好解决我的困惑。它会帮助我知道什么是什么?

    谢谢。

    最佳答案

    ARC-自iOS4起引入了自动引用计数。当前,ARC是iOS开发的最常见和最佳实践。

    MRC-手动引用计数是您必须DIY的地方。

    内存管理-在iOS对象中,对象是否应该在内存中取决于对象的保留计数。创建对象时,保留计数为1。
    当您向对象发送retainstrong消息时,保留计数增加1,而当您发送release时,保留计数减少1。最后,当对象保留计数为0时,该对象的内存被释放。

    现在在ARC中,您不必担心所有这些。您编写代码,然后在编译时,编译器将这些消息放置在您看不见的地方。 ARC中禁止PS- release

    在MRC中,您必须自己跟踪所有对象的内存计数,这很麻烦,因此Apple首先引入了ARC。

    简而言之,这就是内存管理。
    为了更好的理解,请访问此link。该博客以更详细的方式介绍了内存管理。
    希望这对您有所帮助。

    关于ios - 关于Objective-C或iOS中的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887811/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com