ios - UIView突然消失了

标签 ios uiview uiviewcontroller uinavigationcontroller

我有一个 native iOS 应用程序,它通过将 ViewController 推送到根导航 Controller 来创建 View 层次结构。

有时候我发现应用程序突然消失了。它似乎没有崩溃,因为该应用程序仍然存在于 iPad 任务栏中。但似乎一个或多个 View 被卸载,使用户返回主页。该应用程序在 iPad 任务栏中仍然可见,并且可以通过点击任务栏中的图标重新打开。

UIViews 能就这样消失吗?我该如何调试这个?

非常感谢。

最佳答案

It doesn't appear to have crashed, because the App is still present within the iPad task bar.

这确实没有告诉你任何事情。您描述的“任务栏”不是当前正在运行的进程列表;而是当前正在运行的进程的列表。这是最近使用过的应用程序列表。列出的应用程序现在可能正在运行,也可能没有运行。

要判断您的应用程序是否崩溃,请在 Xcode 管理器中选择设备,然后查看设备日志列表。如果您的应用程序崩溃,最新的日志文件将与您的应用程序名称一起列在“进程”列下。选择该日志并查看 - 您可能会看到类似以下内容:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x80938733
Crashed Thread:  0

日志的其余部分将为您提供有关崩溃时每个线程正在执行的操作的一些信息。

也可能发生这样的情况:最新日志并非来自您的应用,而是在“进程”和“类型”列下以未知/未知形式列出。该日志将仅包含进程列表以及每个进程正在使用的内存页数。在列表中查找您的应用程序,您可能会发现类似以下的行:

MyApplication <23b...9af>   168389   168389  [per-process-limit] (frontmost) (resume)

如果您看到这一点,则说明您的应用没有崩溃;它被操作系统杀死,因为它使用了太多内存。现在是开始使用 Instruments 来分析应用程序的内存使用情况并查找非常大的分配和/​​或内存泄漏的好时机。

关于ios - UIView突然消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218681/

相关文章:

iOS SQLite 文件保存不持久

ios - 为什么我在 iOS 9 上收到重复的推送通知?

iOS:如何判断是否滚动到 UITableView 中的特定行?

uiviewcontroller - 一个 View 一次最多只能与一个 View Controller 相关联。 UIViewController 层次结构不一致

ios - 链接器命令无法在 ios 中执行代码 1(使用 -v 查看调用)

iphone - 从后台返回时 AVCaptureSession 失败

ios - UIView 不响应触摸

iOS7中,CollectionView中,什么时候会调用这个方法?布局属性ForElementsInRect :

iphone - 减少 UIViewController 中 init 和 viewDidLoad 之间的加载时间?

ios - 如何使 View 出现在按钮上? objective-c