`

iphone開發中的內存分配

    博客分类:
  • ios
阅读更多

1、內存分配、釋放成對出現

 

2、注意copy,retain,assign操作符的區別(copy,retain同alloc一樣需要release,assign指的是將對象指向另一個對象)

 

3、NSArray,NSDictionary,NSMutableArray,NSMutableDictionary等容器類,在添加對象到這些類對象時,容器類會自動調用一次retain,即使對象調用release,reference count只是減一,可能不為0,意味對象還有引用,不可釋放

 

4、連續重複分配內存的過程(如while、for循環中alloc)最好創建自己的自動釋放池NSAutoreleasePool,或alloc和release操作放到循環閉包的外面(繁體看着也挺費勁的,換簡體了),这是由于频繁地向操作系统申请内存地址和释放内存的过程非常损耗cpu时间,如果循环内部实现的逻辑十分复杂,不能将alloc和release抽离出循环体外,那么就要创建自己的内存管理池,其实就是弄个pool对象,把所有的alloc的对象标记为autorelease,在最后把内存池release掉,那么系统会在需要的时候释放整理所有的autorelease对象,这就是为什么有时候autorelease对象在作用域范围外还有可能是有效的

 

5、避免不常用的对象驻留内存,iphone开发跟桌面开发不一样这你我都知道,所以没必要在程序初始化的时候将某些资源(比如小图片)加载进内存,这里情况就非常类似web开发时候用到的懒加载(延迟加载),原因其实是一样的,iphone是内存的限制,web服务是带宽的限制,当然这也要自己找好一个平衡点,像第4点提到的频繁的向os要内存也会拖慢效率的

分享到:
评论

相关推荐

    ios iphone开发-内存管理

    ios iphone开发-内存管理 所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)

    iPhone开发教程之iPhone内存释放注意事项两则--千锋培训

    ### iPhone开发教程之iPhone内存释放注意事项两则 #### 内存管理基础知识 在iOS开发过程中,内存管理是一项非常重要的任务。对于iOS应用来说,如果内存管理不当,可能会导致程序崩溃或者被系统强制关闭。在...

    iPhone 应用开发中Object-C 内存管理--千锋培训

    iPhone应用开发中的Object-C内存管理是开发者必须掌握的关键技能,特别是在资源有限的移动设备上,如iPhone OS(现称为iOS)。内存管理不当可能导致程序崩溃,严重影响用户体验。Object-C的内存管理基于引用计数机制...

    iphone应用开发面试题库

    3. **操作系统执行可执行程序时的内存分配**: - 静态存储分配:编译时已知内存需求,分配固定空间。 - 栈式存储分配:运行时按需分配,先进后出原则,用于局部变量和函数调用。 - 堆式存储分配:运行时动态分配...

    [深入浅出iPhone开发(中文版)]

    《深入浅出iPhone开发(中文版)》是针对iPhone应用开发的一本专业书籍,由丹皮洛内原著,鲁成东翻译。这本书旨在为读者提供一个全面、深入且易懂的iPhone开发学习路径,帮助开发者从零基础快速掌握iPhone应用程序的...

    Windows中安装iPhone开发环境

    ### Windows中安装iPhone开发环境知识点详解 #### 一、背景介绍 随着移动互联网的发展,iPhone应用开发成为了一个热门领域。然而,苹果官方规定iPhone应用程序必须使用其提供的开发工具——Xcode,并且Xcode只能在...

    在Windows中安装iPhone开发环境

    在Windows系统中搭建iPhone开发环境是一项复杂但有条理的过程,主要是为了在Windows环境下使用iPhone SDK来编写和测试iOS应用程序。以下将详细说明如何在Windows上安装和配置这个环境: 首先,你需要确保你的硬件...

    在Windows中安装iPhone开发环境(虚拟机安装)

    在Windows中搭建iPhone开发环境,主要是为了在非Apple硬件上模拟运行Apple的Mac OS操作系统以及相关的iOS开发工具,以便在Windows环境下开发iPhone应用。以下是一个详细的步骤指南: 1. **硬件要求**: - 一台支持...

    Windows 7中安装iPhone开发环境(傻瓜教程)

    ### Windows 7中安装iPhone开发环境(傻瓜教程) #### 知识点一:环境配置需求 - **硬件要求**:需要一台至少配备64位双核处理器且支持虚拟技术的PC,内存不低于2GB。 - **软件需求**: - **Windows XP**:作为宿...

    在Windows中安装iPhone开发环境.txt

    ### 在Windows中安装iPhone开发环境 #### 知识点概览 - 在Windows环境中搭建iPhone应用开发环境的具体步骤。 - 使用虚拟机技术(VMWare)安装macOS操作系统。 - 安装并配置iPhone SDK(Software Development Kit)...

    win搭建iphone开发环境

    ### Win搭建iPhone开发环境知识点详解 #### 一、概述 在Windows环境下搭建iPhone开发环境是一项技术挑战,因为官方推荐的开发环境是在Mac OS X上进行的。然而,通过使用虚拟化技术,例如VMware Workstation,可以在...

    iPhone开发基础教程.pdf

    在本《iPhone开发基础教程》中,我们主要探讨了如何开始iPhone应用的开发,包括所需的环境、工具和编程语言的基础知识。以下是一些关键知识点的详细说明: 1. **开发环境与工具**:首先,你需要一台运行Leopard操作...

    在虚拟机下搭建phonegap的iphone开发环境版本

    在虚拟机下搭建PhoneGap的iPhone开发环境是一个复杂但必要的过程,尤其对于那些没有实际苹果设备的开发者来说。PhoneGap是一种流行的开源框架,允许开发者使用HTML、CSS和JavaScript来构建跨平台的移动应用,包括iOS...

Global site tag (gtag.js) - Google Analytics