在 iPAD 中注销时应用程序崩溃
Posted
技术标签:
【中文标题】在 iPAD 中注销时应用程序崩溃【英文标题】:Application crashes while logging out in iPAD 【发布时间】:2012-06-13 06:51:31 【问题描述】:我的问题是针对 iPAD 的,我也知道 ios 的基本内存管理,但我遇到了不同的问题。
由于我已经构建了一个应用程序,其中有几个 UIViewControllers 和 UIViews, 我有一个登录控制器,当我启动应用程序时会调用它。
我的 MainView 是一个单一的屏幕,所有的 ViewController 都已加载并放置在各自的位置,并且应用程序运行良好且流畅。
问题:
当我注销时出现问题,大多数情况下,我的应用程序会因在后台输入EXC_BAD
而崩溃
[super dealloc]
mainView 控制器的行。
就目前而言,我已经在我的所有 viewControllers 中添加了一个自定义函数 cleanUP
,当用户从应用程序注销时会调用该函数。
这是正确的方法吗?
据我所知,我们可以在 didload
等函数中进行清理,并且也会调用 dealloc。
但是当我的所有视图控制器在我面前打开时,我有一个 iPAD,当我从应用程序注销时它们将关闭或不可见。
那么如何解决我的崩溃问题以及如何在我的 iPAD 中管理内存?
【问题讨论】:
我可以知道投反对票的原因吗?? 我只是猜测,但有些人可能会被双问号吓跑。 @DanAbramov :P 所以我会帮助消除他们的恐惧..这是编辑过的 可能是因为您没有发布任何相关代码...所以这个问题只能推测。谁能知道您在“自定义功能”中在做什么?注销也不是 iOS 中的标准操作,因此我们也不知道您在其中做什么。 @borrrden 正如我的自定义函数名称所说“cleanUp”,我只是删除其中的所有子视图。 【参考方案1】:据我所知,解决不良访问问题的最佳方法是将 Instruments 与 Zombie 工具结合使用。您可能知道,当您遇到错误的访问问题时,是因为您尝试访问已释放的对象。
尝试转到产品 -> 配置文件并选择僵尸。点击记录并重现您的崩溃。然后检查指向导致崩溃的对象的指针并查找保留计数。
【讨论】:
以上是关于在 iPAD 中注销时应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
应用程序在 iPad 中崩溃但在 iPad 模拟器中工作正常
IOS 8 iPad 应用程序在调用 UIActivityViewController 时崩溃