2012年2月3日

iOS 开发之EXC_BAD_ACCESS异常分析(转)

摘要: 一:EXC_BAD_ACCESS异常介绍在调试objective-c程序的过程中,程序crash的现象在所难免,但大部分的错误都能够通过显示的错误原因结合NSLog的方式来解决,比如NSInvalidArgumentException(名字就能看出来是什么错误)等,实在搞不定还有debug这个杀手锏。但唯独EXC_BAD_ACCESS这个异常太难处理了,名字看不出来是什么原因,其他提示也没有,debug都搞不定。先来介绍下EXC_BAD_ACCES:这个异常基本上是内存使用不当造成的,而且90%的错误来源在于对一个已经释放的对象进行release操作。二:分析方法为工程运行时加入 NSZomb 阅读全文

posted @ 2012-02-03 16:59 ①块腹肌 阅读(4481) 评论(0) 推荐(0) 编辑

ios iphone开发-内存管理

摘要: 关于所有权所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)。创建对象时,所有权通过alloc、new、或者copy的方式建立,之后通过调用retain或者通过Cocoa函数来分配和复制对象的所有权。内存释放有两种方式,一种方法是明确地请求释放对象的所有权,另一种方法则是使用自动释放池(auto-release pool)。所有权的背后是一个和引用有关的运算系统,iPhone SDK的大多数对象使用这个系统,彼此之间建立着很强的引用和参照。当你创建一个对象时,引用值为1,调用一 阅读全文

posted @ 2012-02-03 13:04 ①块腹肌 阅读(2881) 评论(0) 推荐(0) 编辑

导航