我在主线程上将一个非常大的文件读入内存(不仅仅是简单的dataWithContentsOfFile:
方法,我也在做一些数据操作),我的应用程序崩溃了。在我将此进程移至后台线程后,该应用程序不再崩溃。唯一发生的事情是NSData
我得到的是nil
.
是否有可能只有我的后台线程被中断而不影响主线程,或者我错过了什么?另外,我可以指望这种行为并在 is 时只显示一条错误消息NSData
,nil
而不会使应用程序崩溃吗?先感谢您。
编辑:
我得到的日志是:
malloc: * mmap(size=629800960) 失败(错误代码=12) 错误:无法分配区域 * * 在 malloc_error_break 中设置断点进行调试
我使用的文件大小约为 250 MB。
我知道为什么它在主线程上崩溃了。我的问题是,为什么它没有在辅助线程上崩溃?