
性能和调试
|
333
应用程序能够使用的内存取决于设备;通常,一个
App
可以使用设备内存的
60%
(例
如,如果设备有
2GB
内存,那么它可以使用最多
1.2GB
)。如果某个
App
超出了
该限制,将立即被操作系统终止。
11.4
查找崩溃原因
问题
我们想找出是什么原因导致了应用程序崩溃,并修复它。
解决方案
首先,判断崩溃的类型。崩溃的常见类型包括:
异常导致的崩溃
这通常发生在你的代码做了某些苹果的代码不允许你做的事情,比如向数组中
插入空值。当异常发生时,我们可以在调试控制台中看到调用栈信息。
因内存压力导致的崩溃
如前面所述,
iOS
会强行终止任何超出内存限制的程序。这不是严格意义上的
崩溃,但从用户的角度看,它依然是一种崩溃的类型。当内存不足导致崩溃出
现时,
Xcode
会显示内存警告。
一旦我们知道了崩溃的类型,我们就可以进行修复了。
讨论
修复的方法取决于当前崩溃所属的类型。
修复异常
要修复异常,我们需要找出引发异常的地方。最简单的方法,是在异常发生时触发
一个异常断点,这将在异常发生时中断程序的运行(而不是让异常导致程序崩溃)。
异常断点的添加方法如下: