EXC_BAD_ACCESS错误,我通常建议: 1.在可执行选项中设置NSZombieEnabled参数,这有时会帮缩小问题的范围; 2.运行apple的内存检测工具,如Leaks,以便寻找内存问题; 3设定一个断点,单步运行代码,直到你找到引起崩溃的位置; 4.注释代码,直到不崩溃为止,然...
分类:
其他好文 时间:
2014-06-25 20:35:21
阅读次数:
319
iphone开发过程中,代码中的内存泄露我们很容易用内存检测工具leaks
检测出来,并一一改之,但有些是因为ios 的缺陷和用法上的错误,leaks
检测工具并不能检测出来,你只会看到大量的内存被使用,最后收到didReceiveMemoryWarning,最终导致程序崩溃。以下是开发过程中遇到的...
分类:
移动开发 时间:
2014-06-08 00:48:12
阅读次数:
275
虽然iOS
5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开...
分类:
移动开发 时间:
2014-06-07 22:58:12
阅读次数:
319
教程截图:
作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误。但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计的动车早相撞了!)
幸运的是,苹果已经提供了一些好的方式来帮助你找到应用程序中内存相关的问题。有.....
分类:
其他好文 时间:
2014-06-07 22:18:50
阅读次数:
593
实现 smart_ptr 智能指针会自动地管理内存(释放不需要的内存),而不需要程序员去操心。
它能避免迷途指针(dangling pointers),内存泄漏(memory leaks), 分配失败等情况的发生。智能指针需要为所有实例维护一个引用计数,
这样才能在恰当的时刻(引用计数为0时)...
分类:
编程语言 时间:
2014-05-04 11:56:03
阅读次数:
380