<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: iPhone开发内存管理</title>
	<atom:link href="http://www.robinlu.com/blog/archives/392/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robinlu.com/blog/archives/392</link>
	<description>Robin Lu's weblog</description>
	<pubDate>Tue, 16 Mar 2010 18:36:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: baryon</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-64393</link>
		<dc:creator>baryon</dc:creator>
		<pubDate>Sat, 06 Jun 2009 16:06:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-64393</guid>
		<description>能否讲解一下你提到的：UINavigationController对其栈上的controller的所有权关系

我发现这里面似乎存在着一些不可思议的问题。UINavigationController应该是一个stack结构，每次返回前一个画面时应该清除栈顶，也就是栈顶的controller的dealloc方法应该被调用。如果是一个单纯的例子，每次dealloc确实会被调用。但如果栈顶的conroller里面有一个AVAudioPlayer，并且他正在播放背景音乐，那么返回前一个画面时，dealloc没有被调用。也就是说可能是内存泄露了。看上去AVAudioPlayer里面可能做了一些神秘的事情，比如为owner的retainCount加了1</description>
		<content:encoded><![CDATA[<p>能否讲解一下你提到的：UINavigationController对其栈上的controller的所有权关系</p>
<p>我发现这里面似乎存在着一些不可思议的问题。UINavigationController应该是一个stack结构，每次返回前一个画面时应该清除栈顶，也就是栈顶的controller的dealloc方法应该被调用。如果是一个单纯的例子，每次dealloc确实会被调用。但如果栈顶的conroller里面有一个AVAudioPlayer，并且他正在播放背景音乐，那么返回前一个画面时，dealloc没有被调用。也就是说可能是内存泄露了。看上去AVAudioPlayer里面可能做了一些神秘的事情，比如为owner的retainCount加了1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin Lu</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-64077</link>
		<dc:creator>Robin Lu</dc:creator>
		<pubDate>Sun, 17 May 2009 02:54:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-64077</guid>
		<description>讨论什么呢？
第一我哪也没说Instrument是靠规则来发现内存泄漏的，第二我哪也没说Instrument没有用drace。
我不知道异议在哪里。</description>
		<content:encoded><![CDATA[<p>讨论什么呢？<br />
第一我哪也没说Instrument是靠规则来发现内存泄漏的，第二我哪也没说Instrument没有用drace。<br />
我不知道异议在哪里。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yile</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-64074</link>
		<dc:creator>yile</dc:creator>
		<pubDate>Sat, 16 May 2009 22:46:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-64074</guid>
		<description>咱們cocoaChina得版主superzhou對您得上文有异议.
"Intrument不是靠查规则来发现内存泄露的,底层是用DTrace实现对内存使用的追踪."
小僧希望能一起討論一下.
謝謝!
討論請至:
http://www.cocoachina.com/bbs/read.php?tid-2328.html</description>
		<content:encoded><![CDATA[<p>咱們cocoaChina得版主superzhou對您得上文有异议.<br />
&#8220;Intrument不是靠查规则来发现内存泄露的,底层是用DTrace实现对内存使用的追踪.&#8221;<br />
小僧希望能一起討論一下.<br />
謝謝!<br />
討論請至:<br />
<a href="http://www.cocoachina.com/bbs/read.php?tid-2328.html" rel="nofollow">http://www.cocoachina.com/bbs/read.php?tid-2328.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yile</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-63100</link>
		<dc:creator>yile</dc:creator>
		<pubDate>Sun, 19 Apr 2009 18:59:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-63100</guid>
		<description>拜讀, 收藏, 感謝!</description>
		<content:encoded><![CDATA[<p>拜讀, 收藏, 感謝!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jjgod</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-61366</link>
		<dc:creator>jjgod</dc:creator>
		<pubDate>Sat, 07 Mar 2009 06:18:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-61366</guid>
		<description>这个标题...</description>
		<content:encoded><![CDATA[<p>这个标题&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-61296</link>
		<dc:creator>Robin</dc:creator>
		<pubDate>Thu, 05 Mar 2009 14:12:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-61296</guid>
		<description>memory……memory……memory……

深度表示理解……</description>
		<content:encoded><![CDATA[<p>memory……memory……memory……</p>
<p>深度表示理解……</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin Lu</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-61243</link>
		<dc:creator>Robin Lu</dc:creator>
		<pubDate>Tue, 03 Mar 2009 08:35:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-61243</guid>
		<description>1.通常，不是你alloc, copy或者retain过的，就不需要去release了。

2.我举这个例子，并不是将delegate赋值为nil就可以避免循环问题，实际上delegate往往都设计成assign方式的属性，而不是retain属性的。也就是说并没有获得所有权。这是保证不产生循环问题的条件。我文章里可能说得不是非常清楚，回头改一改。

可以转帖，转帖请注明原文链接。</description>
		<content:encoded><![CDATA[<p>1.通常，不是你alloc, copy或者retain过的，就不需要去release了。</p>
<p>2.我举这个例子，并不是将delegate赋值为nil就可以避免循环问题，实际上delegate往往都设计成assign方式的属性，而不是retain属性的。也就是说并没有获得所有权。这是保证不产生循环问题的条件。我文章里可能说得不是非常清楚，回头改一改。</p>
<p>可以转帖，转帖请注明原文链接。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zuoky</title>
		<link>http://www.robinlu.com/blog/archives/392/comment-page-1#comment-61239</link>
		<dc:creator>zuoky</dc:creator>
		<pubDate>Tue, 03 Mar 2009 07:04:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.robinlu.com/blog/?p=392#comment-61239</guid>
		<description>看过许多关于内存使用的介绍，这篇是介绍的最清楚的，受益匪浅。

还有一些问题相问，请指教。

1. 是不是我们在用对象时，只要不是自己alloc的，就不需要去release了？

(有很多类都提供“便利构造函数(convenience constructors)”，它们创建对象但并不增加引用计数，意味着不需要调用release来释放所有权。很好辨认，它们的名字中不会有alloc和copy。)

2. 关于“循环引用”中的例子，为什么将delegate赋为nil，就可以避免循环问题？

同时，我想转贴这篇文章，希望能够得到同意，多谢。</description>
		<content:encoded><![CDATA[<p>看过许多关于内存使用的介绍，这篇是介绍的最清楚的，受益匪浅。</p>
<p>还有一些问题相问，请指教。</p>
<p>1. 是不是我们在用对象时，只要不是自己alloc的，就不需要去release了？</p>
<p>(有很多类都提供“便利构造函数(convenience constructors)”，它们创建对象但并不增加引用计数，意味着不需要调用release来释放所有权。很好辨认，它们的名字中不会有alloc和copy。)</p>
<p>2. 关于“循环引用”中的例子，为什么将delegate赋为nil，就可以避免循环问题？</p>
<p>同时，我想转贴这篇文章，希望能够得到同意，多谢。</p>
]]></content:encoded>
	</item>
</channel>
</rss>
