当我的应用程序第一次加载时,我加载了几个大的csv文件,这在模拟器上运行得很好,但当在我的手机上运行时,它崩溃了大约30%,并显示消息'Program received signal“0‘,这意味着内存崩溃。但是,当我在didReceiveMemoryWarning事件中设置断点时,它似乎没有被调用。
我是否遗漏了什么,或者程序是否会在不调用事件的情况下正常关闭?
发布于 2011-05-04 23:47:12
如果您在应用程序的主线程上的同步调用中加载该文件,这将阻止它在同步调用完成之前接收其他消息(例如内存警告)。尝试将加载CSV文件设置为异步任务。(阅读NSOperation是一个很好的起点。)这将允许您的应用程序在加载过程中接收内存警告。
发布于 2011-05-04 22:05:35
如果您尝试加载小型csv,会发生什么情况。如果它工作正常,那么您csv太大并导致内存问题。如果是这样,您可能必须逐个读取csv文件块,并在读取新文件之前释放旧文件的内存。
https://stackoverflow.com/questions/5884214
复制相似问题