• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

iOS应用程序在主页按下dealloc按

IOS 来源:Ash 8次浏览

我没有使用ARC,并且对应用程序暂停时保留的所有对象发生了什么感到困惑。iOS应用程序在主页按下dealloc按

我一看这个线程,但它并没有帮助那么多:

iPhone. Shouldn’t hitting the home button cause UIApplicationDelegate’s dealloc to be called

我读过多任务苹果文档,但无法明确找到的dealloc的任何信息。

我跑仪器,没有发现任何泄漏,但我对当按下停止按钮

会发生什么不清楚所以我的问题是:

1)为什么有些我的dealloc方法被调用?例如,我的UIResponder的dealloc没有被调用(当我双击我的iPad上的主页按钮并删除我的应用程序),我的任何UIViewController对象也不是。

2)当我点击Instruments上的停止按钮(当它运行检查泄漏时),应用程序放置在什么模式下? (例如,不活动,背景,暂停……别的东西?)

因为我的思维太习惯于C++的思维方式,其中应用程序退出导致析构函数被调用,所以我很难直观地看到iOS当量。

iOS的部署目标:8.0


===========解决方案如下:

  1. 您的应用只需发送到后台。它仍然在记忆中。如果用户将您的应用程序重新启动,那么该应用程序就会停止。如果任何事情因为不在前台而无缘无故地被释放,那将会很糟糕。当用户双击主页按钮并移除应用程序时,该应用程序将很难被击毙。见#2。
  2. 当您点击Xcode中的停止按钮时(或者用户通过双击主页按钮来终止应用程序),您的应用程序将被终止。应用程序流程消失了。所有的内存和其他资源都被释放。这是大锤。您的应用终止,不会有任何通知。想象一下,从命令行执行kill -9

这与使用ARC或没有任何关系。它与使用Objective-C或C++或Swift无关。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)