<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_i.Posei's blog</title><subtitle type="text">Happiness only real when shared!</subtitle><id>http://feed.cnblogs.com/blog/u/10198/rss</id><updated>2011-07-15T23:43:48Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/10198/rss"/><entry><id>http://www.cnblogs.com/ipqn/archive/2011/07/16/2107956.html</id><title type="text">VNC快速教程</title><summary type="text">See Also: http://iposei.com/?p=563最近太忙，好久没有更新日志了。昨天把公司的mac拿回家用，郁闷的是忘记带视频转换借口，无奈的时候突然想起了VNC。1、在PC上安装VNC。这个不多说了，安装的时候只需要安装NVC Viewer就可以了。2、在Mac上进入系统偏好设置-&gt;共享，开启“屏幕共享”。然后点击“电脑设置”，在“VNC显示程序可以使用密码控制屏幕”后的文本框中输入访问密码。（这一步已经在公司完成，不然也没辙）屏幕共享3、运行VNC，在“VNC Server”中输入mac的ip地址（输入机器名也可以），点击，在随后的对话框中的“Password”输入</summary><published>2011-07-15T23:43:00Z</published><updated>2011-07-15T23:43:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2011/07/16/2107956.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2011/07/16/2107956.html"/><content type="html">&lt;span style="font-family: Arial, Helvetica, 'Microsoft YaHei', sans-serif; line-height: normal; color: #373737; "&gt;&lt;div class="postcontent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 20px; "&gt;&lt;p&gt;See Also: &amp;nbsp;&lt;a href="http://iposei.com/?p=563"&gt;http://iposei.com/?p=563&lt;/a&gt;&lt;/p&gt;&lt;p&gt;最近太忙，好久没有更新日志了。昨天把公司的mac拿回家用，郁闷的是忘记带视频转换借口，无奈的时候突然想起了VNC。&lt;/p&gt;&lt;p&gt;1、在PC上安装VNC。这个不多说了，安装的时候只需要安装NVC Viewer就可以了。&lt;/p&gt;&lt;p&gt;2、在Mac上进入系统偏好设置-&amp;gt;共享，开启&amp;#8220;屏幕共享&amp;#8221;。然后点击&amp;#8220;电脑设置&amp;#8221;，在&amp;#8220;VNC显示程序可以使用密码控制屏幕&amp;#8221;后的文本框中输入访问密码。（这一步已经在公司完成，不然也没辙）&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;/p&gt;&lt;div id="attachment_219" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-left-color: #dddddd; background-color: #f3f3f3; width: 310px; "&gt;&lt;a href="http://iposei.com/wp-content/uploads/2011/07/%E5%B1%8F%E5%B9%95%E5%85%B1%E4%BA%AB.png" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-medium wp-image-219" title="屏幕共享" src="http://iposei.com/wp-content/uploads/2011/07/%E5%B1%8F%E5%B9%95%E5%85%B1%E4%BA%AB.png" alt="iPhone Killer" width="300" height="245" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;屏幕共享&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;3、运行VNC，在&amp;#8220;VNC Server&amp;#8221;中输入mac的ip地址（输入机器名也可以），点击，在随后的对话框中的&amp;#8220;Password&amp;#8221;输入刚才在mac上设置的访问密码然后点击&amp;#8220;OK&amp;#8221;，如果一切顺利的话，就可以看到mac的登录界面了。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;/p&gt;&lt;div id="attachment_219" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-left-color: #dddddd; background-color: #f3f3f3; width: 310px; "&gt;&lt;a href="http://iposei.com/wp-content/uploads/2011/07/vnc.png" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-medium wp-image-219" title="VNC" src="http://iposei.com/wp-content/uploads/2011/07/vnc.png" alt="iPhone Killer" width="300" height="163" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;VNC&lt;/p&gt;&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;div id="attachment_219" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-left-color: #dddddd; background-color: #f3f3f3; width: 310px; "&gt;&lt;a href="http://iposei.com/wp-content/uploads/2011/07/vnc2-300x161.png" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-medium wp-image-219" title="VNC" src="http://iposei.com/wp-content/uploads/2011/07/vnc2-300x161.png" alt="VNC" width="300" height="161" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;VNC&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;注意：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;1、当正确输入mac的登录密码后，VNC会自动退出，只需再链接一次即可，这时mac已经进入到桌面了。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;2、可以多个人同一时刻链接到mac，在mac的右上角可以看到当前有哪些ip链接到了自己，想要踢掉别人只需要点击相应的ip即可，而且还可以自己踢自己。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;/p&gt;&lt;div id="attachment_219" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-left-color: #dddddd; background-color: #f3f3f3; width: 310px; "&gt;&lt;a href="http://iposei.com/wp-content/uploads/2011/07/disconnect.png" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-medium wp-image-219" title="踢人" src="http://iposei.com/wp-content/uploads/2011/07/disconnect.png" alt="VNC" width="300" height="116" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;踢人&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/2107956.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2011/07/16/2107956.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2011/03/29/1998660.html</id><title type="text">号外号外，国内不用代理能访问facebook了。</title><summary type="text">惊讶的发现今天可以正常访问facebook了，实际上好像昨天开始就可以了，出了什么状况吗？</summary><published>2011-03-29T04:14:00Z</published><updated>2011-03-29T04:14:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2011/03/29/1998660.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2011/03/29/1998660.html"/><content type="html">&lt;div&gt;&lt;span style="color: #373737; font-family: Arial, Helvetica, 'Microsoft YaHei', sans-serif; font-size: 14px; line-height: 20px; "&gt;惊讶的发现今天可以正常访问facebook了，实际上好像昨天开始就可以了，出了什么状况吗？&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/1998660.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2011/03/29/1998660.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2011/03/19/1988954.html</id><title type="text">翻译：做好iPhone程序的10点建议</title><summary type="text">原文地址：Industry Insights: 10 Tips to Succeed on iPhoneSee Also：http://iposei.com/?p=60上个月，Bolt Creative宣布他们99美分的Pocket God游戏销量达到了120万份。这个游戏是1月份发布的，3月份排名达到了第一名，并保持这个位置大概一个月。这个游戏依然在前10名中。Pocket God是小团队在iPhone上取得成功的最新例子。这款游戏由Dave Castelnuovo的创建人Bolt Creative和他的美术Allan Dye一起开发。在竞争强烈的AppStore中，你的游戏或应用如何在iP</summary><published>2011-03-19T10:26:00Z</published><updated>2011-03-19T10:26:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2011/03/19/1988954.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2011/03/19/1988954.html"/><content type="html">&lt;div&gt;&lt;span style="color: #373737; font-family: Arial, Helvetica, 'Microsoft YaHei', sans-serif; line-height: 20px; "&gt;&lt;p&gt;原文地址：&lt;a href="http://www.industrygamers.com/galleries/industry-insights-10-tips-to-succeed-on-iphone/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #afafaf; "&gt;Industry Insights: 10 Tips to Succeed on iPhone&lt;/a&gt;&lt;br /&gt;See Also：&lt;a href="http://iposei.com/?p=60"&gt;http://iposei.com/?p=60&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;上个月，Bolt Creative宣布他们99美分的Pocket God游戏销量达到了120万份。这个游戏是1月份发布的，3月份排名达到了第一名，并保持这个位置大概一个月。这个游戏依然在前10名中。Pocket God是小团队在iPhone上取得成功的最新例子。这款游戏由Dave Castelnuovo的创建人Bolt Creative和他的美术Allan Dye一起开发。在竞争强烈的AppStore中，你的游戏或应用如何在iPhone取得成功？下面是Castelnuovo提供的10个方法。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1、选择你能够完成的项目&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;成为独立的开发者是非常辛苦的。我们大多数都是在周末和晚上进行自己的梦想工程，期盼这能够给我们带来足够的收入以摆脱全职工作。而大多数独立开发者会遇到的情况，是把一个进行了1、2个月的项目抛到脑后，原因要么是他们找到了新的点子，要么是他们需要将时间让位给全职工作。假设这会发生在你身上。那么你应该选择能够快速完成，并且不需要销售策略就能进入市场的东西来做。此外，简单的点子事实上能够做得比较好，Pocket God和Flight Control都是在1周内初步完成的。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2、不要陷入引擎架构和宏大构想中&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;从第一点延伸的这两种情况会耗尽你的精力。每个人都想在iPhone上开发出魔兽世界这样的MMO游戏，但这样的项目是几百人花了好几年时间完成的。如果你的团队只有两个人，而且在晚上或周末工作，那么你们做不到。检查你的设想，并且保证它们在能够实现的范围内。做为一个程序员，我的乐趣是努力想出完美的架构。我曾经尝试过的几个游戏，都从优化3D渲染和设计AI系统开始，但几个月以后，开始的想法已经变得陈旧，并且我又对别的东西有兴趣了。如果你的码在一开始的时候有些凌乱，或者在同类里头不是运行最快的，这些其实都可以接受，必定优雅的架构不会作为吸引点出现在游戏介绍里。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3、你不总是需要创新&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;创新毫无疑问是一个好事情，但是太多的创新事实上是危险的。如果你狂热地追逐从来没人见过的东西，这或许是一个赶在别人前头的好机会，但也可能没有人愿意分享你的热情。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;选择你第一个游戏的策略是寻找那些已经被市场证明可行，但还没饱和的领域，并开发出可供客户选择的高质量产品。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4、努力工作并找到乐趣&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;喜欢上开发游戏的过程很重要。如果你的游戏在开发过程中就让人觉得讨厌，那你的客户也会感觉到这点。不要让追求金钱上的成功成为你的主要驱动力，有很多行业只要你认真工作就能获得很好的回报，但是游戏行业不在其中。你需要对所做的东西充满激情。将金钱上的成功放在第一位，会让你从游戏中分心，你需要的是去创作你喜欢的东西。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5、不要期望你的游戏必火&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;不要责怪形势、不要责怪竞争、不要责怪受众。你的游戏只是没有火。市场已经有了很多让人难以置信的游戏，虽然人们可能会给你一些积极的评价&amp;#8230;好吧，赞美是免费的，但这很难预示人们会真正花钱购买。赶紧进行下一个项目，保持你的劲头，专注于新的东西。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6、关注成功的产品比开发新的产品容易&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我从来没想过Pocket God会火。但是我们坚持，直到它真的不可能取得成功。我们考虑将其扩展到iPhone以外的平台，并且不断添加新的游戏机制，这会让Pocket God上升到更高的水平。如果你也足够幸运体验到了成功的感觉，你应该做你能力范内的所有事情来让火苗更旺，继续保持劲头。在充分发挥了游戏的潜能前不要放弃你的游戏。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;7、开发成功的游戏没有魔法公式&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;开发者获得成功，有些时候是通过顺应游戏设计的趋势取得，有些时候则是通过创新、逆势而为取得。每个成功的故事都不同，不要仅仅依靠那些意图帮助你复制成功的指南。Pocket God的成功和这款游戏差不多每周一次的更新密切相关，但不是每个iPhone开发者都觉得这种策略对他们的游戏有用。有些人是通过lite版本或者演示版本取得成功，有些人这是高标价格，然后通过打折来取得知名度。如果只是简单的跟随别人的模式，你实际上不会将注意力集中在你的应用和客户的关系。关注你自己的情况，并思考如何逐步地完善你的游戏。可以从其他公司那里获得灵感，但还是应该对你和你的产品有自己的想法。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;8、你需要被主意到&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;被注意不仅仅是一种营销手段。一个很完善的游戏，但是没有任何新的、更好的、不同于其他竞争对手的东西是很难脱颖而出的，更何况我们选择的平台存在着很多竞争。你的游戏有什么不同？最开始我们通过幽默这种方式吸引Pocket God的玩家，之后我们将这些方式扩展到了不停的更新和与社区互动。而其他游戏则通过令人咋舌的技术、性感或争议等等。你应该找到你自己的公式&lt;/p&gt;&lt;p&gt;&lt;strong&gt;9、经营社区&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;你的社区非常重要，如果你有幸拥有一个的话。不要雇佣其他人来经营你游戏，要亲力亲为，就如政治家要亲自亲吻小朋友和民众握手一样。这是让你的游戏显得特别的声音，玩家想听到的是你的声音。你的游戏不只是一个游戏，而是你提供的整个环境。通过管理你的Blog、Twitter和Facebook来经营你的游戏和社区。你不需要每天都写东西，只需要分享你的想法、抱怨困扰你的事情和谈论感兴趣的事情。你的粉丝会喜欢你的透明，他们品味着一睹幕后的机会。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;10、实现用户的需求任重道远&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;很早的时候，我的第一个应用让我认识到了回应社区的力量。有人给了游戏1颗星的评价，抱怨它没有存盘的功能。我花了好几天修复这一问题，它马上在回复里作出了反应，改成了5颗星，并说他会让他所有的朋友都买这款游戏。聆听你的用户，他们能提供有价值的反馈。如果你能提供好的体验，他们可以成为应用的一部分，并且更倾向于向朋友推销游戏。客户的抱怨是你最好的机会，你可能沮丧地收到某人发来的邮件说他狠你的游戏，并且要求退还99美分。虽然如此，这些人有很大的激情，大多数的时间里他们只是想被别人听到声音。如果你能够让他们知道你实际上很在意他们的想法，并且你在尽最大努力对待他们，那他们常会用同样的激情来传播比的产品。&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/1988954.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2011/03/19/1988954.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2011/03/13/1982599.html</id><title type="text">推荐一本书《我编程，我快乐》</title><summary type="text">本来说看完了10本书来再总结的，不过这本有关职业规划的书还是应该提前分享下。实也不是推荐《我编程，我快乐》这一整本书，而是推荐这本书的第一章和最后一的部分小节。之所以不推荐其他几章，是因为其他几章具有老外书的通性，就是所述内容都是对的，人人皆知，列个标题，编个故事，阐述相当肤浅，简直就是拿来填充容量的。而之所以要推荐，第一个是因为有些内容，要么曾经是我纠结过的，要么介绍了一种职场心态；第二个原因为这本书翻译很不错，很流畅，读起来感觉就是一个中国人写的。一些颇能接受的观点：1、把自己向公司提供的服务视为自己的产品，不断提高产品质量，要提高产品质量，就需要热爱工作。2、软件工程师开发的是产品，但一</summary><published>2011-03-13T02:42:00Z</published><updated>2011-03-13T02:42:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2011/03/13/1982599.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2011/03/13/1982599.html"/><content type="html">&lt;div&gt;&lt;p&gt;本来说看完了10本书来再总结的，不过这本有关职业规划的书还是应该提前分享下。实也不是推荐《我编程，我快乐》这一整本书，而是推荐这本书的第一章和最后一的部分小节。&lt;br /&gt;之所以不推荐其他几章，是因为其他几章具有老外书的通性，就是所述内容都是对的，人人皆知，列个标题，编个故事，阐述相当肤浅，简直就是拿来填充容量的。&lt;br /&gt;而之所以要推荐，第一个是因为有些内容，要么曾经是我纠结过的，要么介绍了一种职场心态；第二个原因为这本书翻译很不错，很流畅，读起来感觉就是一个中国人写的。&lt;/p&gt;&lt;p&gt;一些颇能接受的观点：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;1、把自己向公司提供的服务视为自己的产品，不断提高产品质量，要提高产品质量，就需要热爱工作。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;2、软件工程师开发的是产品，但一定要成为产品所在领域的行业专家，包括领域内的各个方面，不光只关注技术。对于我来说，似乎找到了一个玩游戏理由。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;3、不要抱怨我没有机会XXX，机会要靠自己争取，但M会将这些机会首先给予有准备的人。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;4、对领域内的技术都要有所了解，但对其中一种或几种要达到专家的水平。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;5、不要只跟随某种技术。比如做.Net就只管.Net，好在MS不容易倒闭，对于只关心Delphi的人，现在Broland被收购了，越来越多的公司不用这个，他们怎么办呢？&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;6、关注处于你所在领域技术尖端的人，看看他们在关注什么，这多少能够反映行业的发展动态。&lt;/p&gt;&lt;p&gt;&lt;font class="Apple-style-span" color="#373737" face="Arial, Helvetica, 'Microsoft YaHei', sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;a href="http://book.douban.com/subject/4923179/" style="color: #373737; font-family: Arial, Helvetica, 'Microsoft YaHei', sans-serif; line-height: 20px; "&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/ipqn/book.jpg" border="0" alt="" width="99" height="148" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;font class="Apple-style-span" color="#373737" face="Arial, Helvetica, 'Microsoft YaHei', sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;div&gt;see also:&lt;a href="http://iposei.com/?p=400"&gt;http://iposei.com/?p=400&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/1982599.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2011/03/13/1982599.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2010/07/30/1788936.html</id><title type="text">【翻译】找到iPhone内存泄露：Leaks工具指引</title><summary type="text">一些内存泄露可以很容易地通过阅读代码来发现，另一些就要困难点了，这就是为什么需要Instruments的原因。Instruments有一个“Leaks”工具，它会准确地告诉你什么地方发生了内存泄露，以便你能定位和修复泄露问题。</summary><published>2010-07-30T09:38:00Z</published><updated>2010-07-30T09:38:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2010/07/30/1788936.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2010/07/30/1788936.html"/><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; line-height: normal; font-size: 10px; color: #373737; "&gt;&lt;p&gt;原文地址：&lt;a href="http://www.mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #afafaf; "&gt;http://www.mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 10px; "&gt;&lt;span class="Apple-style-span" style="font-size: 8.33333px; "&gt;see also：&lt;span class="Apple-style-span" style="font-size: 6.94444px; "&gt;&lt;a href="http://www.iposei.com/?p=127"&gt;http://www.iposei.com/?p=127&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 10px; "&gt;我的游戏开发接近了尾声，最近常使用Instruments这个工具。我发现它对追踪游戏中的内存泄露非常有帮助。自从发现Instruments如此有用后，我就觉得写一篇文章介绍如何使用它来追踪内存泄露对其他人也会有帮助。&lt;/span&gt;&lt;/p&gt;&lt;h2 style="margin-top: 12px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;什么是内存泄露？我为什么要关心内存泄露？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;#8230;此段省略&amp;#8230;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;访问&lt;a href="http://en.wikipedia.org/wiki/Memory_leak" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #afafaf; "&gt;维基百科&lt;/a&gt;可以获得更多关于内存泄露的信息。&lt;/p&gt;&lt;h2 style="margin-top: 12px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;我如何知道内存泄露了？&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;一些内存泄露可以很容易地通过阅读代码来发现，另一些就要困难点了，这就是为什么需要Instruments的原因。Instruments有一个&amp;#8220;Leaks&amp;#8221;工具，它会准确地告诉你什么地方发生了内存泄露，以便你能定位和修复泄露问题。&lt;/p&gt;&lt;h2 style="margin-top: 12px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;例子程序&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我写了一个例子程序，它有两个地方会发生内存泄露，一个在Objective-C 视图控制器中，另一个在C++类中。例程可以从&lt;a href="http://github.com/dcgrigsby/owengossleakstutorial/tree/master" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #afafaf; "&gt;这里&lt;/a&gt;获得。下边的代码是从例程里摘录的，包含了我们需要追踪内存泄露的代码。&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;// Leaky excerpts &amp;#8211; see GitHub for complete source&lt;/p&gt;&lt;p&gt;- (void)viewDidLoad {&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;[super viewDidLoad];&lt;/p&gt;&lt;p&gt;LeakyClass* myLeakyInstance = new LeakyClass();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;delete myLeakyInstance;&lt;/p&gt;&lt;p&gt;mMyLeakyString = [[NSString alloc] initWithUTF8String:&amp;#8221;I&amp;#8217;m a leaky string.&amp;#8221;];&lt;/p&gt;&lt;p&gt;[self doSomethingNow];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;p&gt;- (void) doSomethingNow&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;mMyLeakyString = [[NSString alloc] initWithUTF8String:&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;#8220;Look, another alloc, but no release for first one!&amp;#8221;];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;// Leaky excerpts &amp;#8211; see GitHub for complete source&lt;/p&gt;&lt;p&gt;LeakyClass::LeakyClass()&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;mLeakedObject = new LeakedObject();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;p&gt;LeakyClass::~LeakyClass()&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;我会先在Debug模式编译InstrumentsTest，并在iPhone上运行。完成这步，我会启动Instruments。&lt;/p&gt;&lt;h2 style="margin-top: 12px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Instruments&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;当你启动Instruments，你可以从一堆Instruments工具里选择你需要的。在左手边选择iPhone，在右手边的图标里双击&amp;#8220;Leaks&amp;#8221;工具：&lt;/p&gt;&lt;div id="attachment_133" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_01.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-133" title="instruments_01" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_01.jpg" alt="instruments_01" width="530" height="373" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_01&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span id="more-127" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;之后你会看到下边的窗口：&lt;/p&gt;&lt;div id="attachment_135" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_02.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-135" title="instruments_02" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_02.jpg" alt="instruments_02" width="530" height="373" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_02&lt;/p&gt;&lt;/div&gt;&lt;p&gt;请确保iPhone已经连接到了你的电脑，在这个窗口的左上角，你会看到一个下拉菜单，写着&amp;#8220;Launch Executable&amp;#8221;。单击它，并确保选中的是你iPhone（而不是你的电脑）作为活动设备。然后移动到&amp;#8220;Launch Executable&amp;#8221;，你可以看到一个包含了所有已安装iPhone程序的列表。找到你希望运用&amp;#8220;Leaks&amp;#8221;工具的程序（本例中是InstrumentsTest）并单击它。&lt;/p&gt;&lt;div id="attachment_138" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 487px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_03.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-138" title="instruments_03" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_03.jpg" alt="instruments_03" width="477" height="404" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_03&lt;/p&gt;&lt;/div&gt;&lt;p&gt;你已经准备好了。单击红色的&amp;#8220;Record&amp;#8221;按钮，它会启动程序并开始记录程序里的每个内存分配操作。它会每10秒自动地检测内存泄露。&lt;/p&gt;&lt;div id="attachment_139" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 411px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_04.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-139" title="instruments_04" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_04.jpg" alt="instruments_04" width="401" height="278" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_04&lt;/p&gt;&lt;/div&gt;&lt;p&gt;你可以改变多少时间自动检测一次，你也可以手动进行检测（检测内存泄露的时候程序会停顿大约3-5秒钟，如果你想边进行测试边进行内存检测的话，这种停顿将会干扰到你）。我一般是设置成手动控制，在我需要的时候才单击&amp;#8220;Check for leaks&amp;#8221;按钮（例如：在loading新的游戏模式之后检测一下，在退出游戏返回MM的时候检测一下）。单击&amp;#8220;Leaks&amp;#8221;，并使用右上角的View-&amp;gt;Detail按钮来设置和查看选项值，在这个例子里，我将其设置成auto。&lt;/p&gt;&lt;div id="attachment_140" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 223px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_05.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-140" title="instruments_05" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_05.jpg" alt="instruments_05" width="213" height="524" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_05&lt;/p&gt;&lt;/div&gt;&lt;p&gt;程序在运行一段时间之后，自动内存检测将会发现两处内存泄露。太棒了！现在该干什么呢？&lt;/p&gt;&lt;div id="attachment_141" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_05b.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-141" title="instruments_05b" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_05b.jpg" alt="instruments_05b" width="530" height="342" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_05b&lt;/p&gt;&lt;/div&gt;&lt;h2 style="margin-top: 12px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Extended Detail视图&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Instruments非常懒，它不会明显地指出下一步该干什么。你需要注意的是窗口底部的那一排按钮。看见两个矩形组成的那个按钮了吗？讲你的鼠标停留在上边，它会提示&amp;#8220;Extended Detail View&amp;#8221;。&lt;/p&gt;&lt;div id="attachment_143" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 329px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_06.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-143" title="instruments_06" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_06.jpg" alt="instruments_06" width="319" height="96" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_06&lt;/p&gt;&lt;/div&gt;&lt;p&gt;单击这个按钮，右边将会弹出一个窗口，里边提供了各种关于内存泄露的详细信息。单击一个内存泄露，Extended Detail视图将会显示泄露的内存代码的完整调用堆栈。在我们上边的例子中，单击第一个内存泄露提示，它发生在[NSString initWithUTF8String]。如果你选中调用堆栈里的高亮步骤，你会看到程序最后一次调用是[InstrumentsTestViewController viewDidLoad]。&lt;/p&gt;&lt;div id="attachment_144" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_06b.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-144" title="instruments_06b" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_06b.jpg" alt="instruments_06b" width="530" height="413" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_06b&lt;/p&gt;&lt;/div&gt;&lt;p&gt;双击Extend Detail视图中的某行，它会打开XCode窗口并显示出问题的代码，这是非常棒的功能。&lt;/p&gt;&lt;div id="attachment_145" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_07.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-145" title="instruments_07" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_07.jpg" alt="instruments_07" width="530" height="383" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_07&lt;/p&gt;&lt;/div&gt;&lt;p&gt;在本例中，第一次NSString分配的时候出现了泄露，你需要做一些处理。这是个非常简单的例子，但找到为什么会发生泄露则要麻烦些。让我们仔细看一下例子。在viewDidLoad当中，我们为字符串分配到了内存，如下所示：&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;mMyLeakyString = [[NSString alloc] initWithUTF8String:&amp;#8221;I&amp;#8217;m a leaky string.&amp;#8221;];&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;在dealloc当中我们用如下方式来释放&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;[mMyLeakyString release];&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;你的直觉可能是这样不会发生泄露，但搜索代码中所有用到了mMyLeakyString的地方，在doSomethingNow中，它是这样用的：&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;mMyLeakyString = [[NSString alloc] initWithUTF8String:&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;#8220;Look, another alloc, but no release for first one!&amp;#8221;];&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;注意，我们声明了一个新的字符串，并且将mMyLeakyString指向了它。这里的问题是我们没有在更改mMyLeakyString的指向前释放它原来指向的内存。所以原始的字符串依然在堆中，并且我们没有办法释放这部分内存。dealloc里的release操作实际释放的是我们在doSomethingNow中声明的字符串所占内存，因为这才是指针所指。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;为了修复这个问题，我们可以把doSomethingNow改成下边的代码：&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;- (void) doSomethingNow&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;[mMyLeakyString release];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;mMyLeakyString = [[NSString alloc] initWithUTF8String:&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;#8220;Look, another alloc, but released first one!&amp;#8221;];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;这段代码做的是在我们指定mMyLeakyString到新的字符串前释放第一个字符串所占内存。重新编译运行程序，你会看到只有一个内存泄露。当然，在项目中可能有更好的方式来处理NSString，但如果你这样处理的话可以修复这个泄露问题。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;让我们看看第二个泄露问题。单击泄露提示看什么导致了内存泄露。发现这个泄露来自于LeakyClass::LeakyClass()构造函数：&lt;/p&gt;&lt;div id="attachment_147" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 540px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_08.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-147" title="instruments_08" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_08.jpg" alt="instruments_08" width="530" height="398" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_08&lt;/p&gt;&lt;/div&gt;&lt;p&gt;在调用堆栈中双击它，出问题的代码将会再次出现在XCode中。&lt;/p&gt;&lt;div id="attachment_148" class="wp-caption aligncenter" style="margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; display: block; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-color: #f3f3f3; width: 472px; "&gt;&lt;a href="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_09.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: #333333; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: #ffffff; "&gt;&lt;img class="size-full wp-image-148" title="instruments_09" src="http://www.iposei.com/iposei/wp-content/uploads/2010/07/instruments_09.jpg" alt="instruments_09" width="462" height="291" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 4px; padding-bottom: 5px; padding-left: 4px; font-size: 11px; line-height: 17px; color: #111111; "&gt;instruments_09&lt;/p&gt;&lt;/div&gt;&lt;p&gt;我们看到在构造函数里声明了一个新的LeakedObject对象，但是析构函数没有删除，这样不好。对于每一个new操作，都需要有与之对应的delete操作。所以我们把析构函数改变成下边的样子：&lt;/p&gt;&lt;blockquote style="margin-top: 20px; margin-right: 10px; margin-bottom: 10px; margin-left: 5px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 5px; border-left-width: 4px; border-left-style: solid; border-left-color: #dddddd; font-size: 9px; text-align: justify; "&gt;&lt;p&gt;LeakyClass::~LeakyClass()&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;if (mLeakedObject != NULL)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;delete mLeakedObject;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;mLeakedObject = NULL;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;重新编译运行，没有内存泄露了！&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;我选择这两个例子，虽然非常简单，但他们展示了Instruments可以用来追踪Object-C和C++中的内存泄露。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;修复你的内存泄露问题吧，记住，没有内存泄露的程序才是一个好程序。&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/1788936.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2010/07/30/1788936.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2010/07/16/1779168.html</id><title type="text">“网聊依赖症”七大症状</title><summary type="text">偶然看到所谓网聊依赖症，发现自己还真符合其中几条，要治疗不？附上：“网聊依赖症”七大症状：1、不管有事没事，只要有条件就会开电脑，开机首先习惯性登录QQ、MSN。2、打字飞快，熟练掌握各种时髦网络词语，至少有5个QQ或MSN等聊天工具群。3、要找人或关注别人近况，不是打电话，而是上QQ、MSN，要么在线聊天，要么进空间、上博客。4、只喜欢打字，不喜欢说话。接到朋友电话时，经...</summary><published>2010-07-16T11:08:00Z</published><updated>2010-07-16T11:08:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2010/07/16/1779168.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2010/07/16/1779168.html"/><content type="html">&lt;p&gt;&lt;p&gt;偶然看到所谓网聊依赖症，发现自己还真符合其中几条，要治疗不？&lt;/p&gt;&lt;p&gt;附上：&amp;#8220;网聊依赖症&amp;#8221;七大症状：&lt;/p&gt;&lt;p&gt;1、不管有事没事，只要有条件就会开电脑，开机首先习惯性登录QQ、MSN。&lt;/p&gt;&lt;p&gt;2、打字飞快，熟练掌握各种时髦网络词语，至少有5个QQ或MSN等聊天工具群。&lt;/p&gt;&lt;p&gt;3、要找人或关注别人近况，不是打电话，而是上QQ、MSN，要么在线聊天，要么进空间、上博客。&lt;/p&gt;&lt;p&gt;4、只喜欢打字，不喜欢说话。接到朋友电话时，经常会挂掉电话转到网上聊。就算在同一间办公室只有一步之遥，也经常用信息交流：&amp;#8220;一起吃午饭&amp;#8221;&amp;#8220;好的&amp;#8221;&amp;#8220;那现在出发&amp;#8221;&amp;#8220;电梯口见&amp;#8221;。&lt;/p&gt;&lt;p&gt;5、在网上无话不谈的朋友，见面后不知道说什么。给朋友打电话，发现没话可说，但一天到晚短信往来无数。&lt;/p&gt;&lt;p&gt;6、心情一起伏，马上换签名，改资料或换头像，像得了强迫症。&lt;/p&gt;&lt;p&gt;7、结识新朋友，先加QQ，不加等于不认识这个人。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;sea also:&lt;a href="http://www.iposei.com/?p=43"&gt;http://www.iposei.com/?p=43&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/ipqn/aggbug/1779168.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ipqn/archive/2010/07/16/1779168.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2009/01/11/1373653.html</id><title type="text">IPHelper(IP切换助手) </title><summary type="text">IPHelper(IP切换助手) 是一款小巧实用的绿色软件，能够快速地更改您的网络配置，方便您的网卡在不同的网络配置参数间切换。她特别适用经常进行移动办公或需要经常在不同网段间切换的用户。最新版本新增了配置存储功能、支持多IP地址设置、新增版本检测功能，同时修改了算法，使得设置过程更快。下载地址：http://www.kunwsoft.com/iphelper/iphelper1_2.zip官方网...</summary><published>2009-01-11T06:36:00Z</published><updated>2009-01-11T06:36:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2009/01/11/1373653.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2009/01/11/1373653.html"/><content type="text">IPHelper(IP切换助手) 是一款小巧实用的绿色软件，能够快速地更改您的网络配置，方便您的网卡在不同的网络配置参数间切换。她特别适用经常进行移动办公或需要经常在不同网段间切换的用户。最新版本新增了配置存储功能、支持多IP地址设置、新增版本检测功能，同时修改了算法，使得设置过程更快。下载地址：http://www.kunwsoft.com/iphelper/iphelper1_2.zip官方网...</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2008/11/22/1338972.html</id><title type="text">谷歌手机地图支持三角基站定位</title><summary type="text">昨天去路考，前天就住在了同学那里，前几天下了个谷歌手机地图，里边由一个“我的位置”这个功能，发现定位相当的准确，惊讶！！！我的手机没有GPS的，怎么能定位这么准确了，回来回到学校又定位了一次仍然比较准确，不得不佩服Google的神奇。上网搜索了一下，原来软件是根据手机移动网络的发射塔来确定手机的相对位置，也即基站。这种方式叫做三角基站定位，它是通过测量与手机最近的三个信号基...</summary><published>2008-11-22T07:03:00Z</published><updated>2008-11-22T07:03:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2008/11/22/1338972.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2008/11/22/1338972.html"/><content type="text">昨天去路考，前天就住在了同学那里，前几天下了个谷歌手机地图，里边由一个“我的位置”这个功能，发现定位相当的准确，惊讶！！！我的手机没有GPS的，怎么能定位这么准确了，回来回到学校又定位了一次仍然比较准确，不得不佩服Google的神奇。上网搜索了一下，原来软件是根据手机移动网络的发射塔来确定手机的相对位置，也即基站。这种方式叫做三角基站定位，它是通过测量与手机最近的三个信号基...</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2008/11/08/1329658.html</id><title type="text">短信群发 for Pocket PC v1.31 Build 81109 发布啦。</title><summary type="text">软件介绍短信群发 是一款运行于Pocket PC平台上的短信群发软件。您可使用 短信群发 进行短信的群发操作，缩短您大批量发送短信时的工作量。您在使用的过程中有任何建议和意见请发邮件给我：iposei@gmail.com。软件下载下载：http://files.cnblogs.com/ipqn/sms1_31.zip也可从此处下载：http://www.kunwsoft.com/sms/sms1_...</summary><published>2008-11-08T08:05:00Z</published><updated>2008-11-08T08:05:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2008/11/08/1329658.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2008/11/08/1329658.html"/><content type="text">软件介绍短信群发 是一款运行于Pocket PC平台上的短信群发软件。您可使用 短信群发 进行短信的群发操作，缩短您大批量发送短信时的工作量。您在使用的过程中有任何建议和意见请发邮件给我：iposei@gmail.com。软件下载下载：http://files.cnblogs.com/ipqn/sms1_31.zip也可从此处下载：http://www.kunwsoft.com/sms/sms1_...</content></entry><entry><id>http://www.cnblogs.com/ipqn/archive/2008/10/13/1309780.html</id><title type="text">短信群发 for Pocket PC v1.2 版正式发布</title><summary type="text">软件介绍短信群发 是一款运行于Pocket PC平台上的短信群发软件。您可使用 短信群发 进行短信的群发操作，缩短您大批量发送短信时的工作量。您在使用的过程中有任何建议和意见请发邮件给我：iposei@gmail.com。界面截图 软件下载下载：http://files.cnblogs.com/ipqn/sms1_2.zip也可从此处下载：http://www.kunwsoft.com/sms/s...</summary><published>2008-10-13T02:56:00Z</published><updated>2008-10-13T02:56:00Z</updated><author><name>i.Posei</name><uri>http://www.cnblogs.com/ipqn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ipqn/archive/2008/10/13/1309780.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ipqn/archive/2008/10/13/1309780.html"/><content type="text">软件介绍短信群发 是一款运行于Pocket PC平台上的短信群发软件。您可使用 短信群发 进行短信的群发操作，缩短您大批量发送短信时的工作量。您在使用的过程中有任何建议和意见请发邮件给我：iposei@gmail.com。界面截图 软件下载下载：http://files.cnblogs.com/ipqn/sms1_2.zip也可从此处下载：http://www.kunwsoft.com/sms/s...</content></entry></feed>
