【问题标题】:is it possible to create a 100% leak free ipad application是否可以创建 100% 无泄漏的 ipad 应用程序
【发布时间】:2011-06-23 22:19:43
【问题描述】:

我正在开发一个 iPad 应用程序,并在使用 Instruments 和 Analyzer 时发现了一些内存泄漏。我试图释放一些导致我的应用程序崩溃的对象。应用程序中是否允许内存泄漏?如果是这样,他们被允许到什么程度?有没有办法在应用程序崩溃的情况下完全消除内存泄漏??

【问题讨论】:

  • @Alpha 欢迎来到 StackOverflow!

标签: iphone ipad memory-leaks


【解决方案1】:

一般来说,可以确保您编写的代码没有泄漏。这并不是说 Apple 框架和内部库根本不会泄漏。

如果您致电allocnewcopy,请务必致电相应的releaseautorelease。大量泄漏的应用程序必然会经常崩溃。经常崩溃的应用程序很可能会被 App Store 拒绝。

【讨论】:

  • 嗨 moshe....感谢您回答我的问题的兴趣....我真的不知道为什么您给了我反对票....我认为这绝对没有必要上下文......无论如何......再次感谢您的回答......
  • 我没有投反对票。那一定是别人。我真的投了赞成票。如果您觉得正确,请随意选择我的答案。
【解决方案2】:

请阅读this。我们可以创建一个 100% 无泄漏的应用程序。启用 NSZombieEnabled 以检查崩溃发生的原因。

【讨论】:

  • 该链接+1。有些信息似乎很旧,但仍然相关。伟大的阅读!
  • 您好国王...感谢您的回答...我之前通过 google 看到过这个文档,发现它真的很有帮助。但我不知道 NSZombieEnabled.. 你请告诉我更多关于那......谢谢
  • 是的,我们可以,但前提是我们使用的所有框架和库也是无泄漏的。通常,您只需对自己的代码和您选择的第三方库负责。
【解决方案3】:

最好尽可能多地消除泄漏。

但是,如果您的应用程序中有一些剩余的您无法删除,Apple 仍然会接受您的应用程序 - 只要它不经常崩溃。

只要确保当你 alloc 某些东西时 - 它是与 releaseautorelease 一起发布的。

这是确保不会发生泄漏的最佳方法。

【讨论】:

    【解决方案4】:

    一开始就没有泄漏比以后在应用程序出现内存问题时尝试插入要容易得多。幸运的是,在 iOS/Cocoa 世界中,内存管理规则清晰而简单。但是,正如其他人所说,您未编写的代码可能存在泄漏:(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 2012-10-18
      • 2017-11-26
      相关资源
      最近更新 更多