在Objective-C中管理内存有多重要?
背景:我(开始跟上潮流)开始学习iPhone / iPad开发和Objective-C.我有很好的Web开发背景,我的大部分编程都是用
javascript(没有库),Ruby和
PHP完成的.
问题:我正在学习如何在Objective-C中分配和释放内存,我认为在实际运行的过程中进行分层是一项非常棘手的任务.我试图了解那里的应用程序,以及内存管理不佳的程序会发生什么. A)应用程序通常是否在没有内存泄漏的情况下发布?这是一个可行的目标,还是人们更真实地只是切除了最坏的罪犯,这没关系? B)如果我为一个视图的标题创建一个NSString,让我们说,并且忘记将它解除分配它,如果我重复重新创建该字符串,这真的只会成为一个问题吗?我想我正在做的是创建存储该字符串所需的内存开销,所以它可能非常蹩脚(几个字节?)但是如果我在游戏中有一个快速循环周期,那么每个周期都会“泄漏”一个int什么的,这会很快溢出应用程序.这些假设是否正确? 对不起,如果这不是社区维基小巷,我只是试图了解如何考虑内存以及我需要多么小心.任何轶事或App Store提交的应用程序体验都会很棒. 解决方法
遵循模式,内存管理很少是Cocoa的最大障碍.
但是,我将成为一个逆向的人:你的感觉大多是正确的.泄漏一个用作标签的NSString不会伤害任何人.大多数具有任何复杂性的应用程序在应用程序的整个生命周期中都拥有多个单例,这也很好(嗯,更好,因为它是明确的).所以不,不小心泄漏一根绳子不会杀了你.但是,泄漏大件物品(图像,纹理,文件内容数据)会对您造成伤害 – Apple不保证您的iPhone OS平台上的进程有任何最小或确定的内存量,因此这些泄漏中的一个或两个可能会导致用户在开发过程中看到频繁发生“崩溃”的情况. 保持警惕,使用模式,并使用工具,你会没事的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |