我有一个我无法解决的大问题。 我正在制作一款iPad app&在其中下载一个zip文件(大一个,如80Mb)&在某些时候,如75%,该应用程序崩溃... 我执行了个人资料和我可以看到内存随着下载而增长,因此,这显然是一个内存问题。 我的问题是,我该如何正确解决这个问题?我可以用某种方式释放一些内存。 告诉我,如果我需要在这里放一些源代码和谢谢你提前! 此致!
答案 0 :(得分:3)
不要将下载的字节保留在内存中,而是按照收到的顺序将它们写入磁盘。如果您不知道如何操作,ASIHTTPRequest可以帮助您。
答案 1 :(得分:3)
您需要使用NSOutputStream
并将其直接写入磁盘,而不是将其保留在内存中直到完全下载。这种方法将减少运行时内存的使用,并将解决崩溃问题。
在API参考
中查看此方法+ (id)outputStreamToFileAtPath:(NSString *)path append:(BOOL)shouldAppend
以下是Streams的一些参考: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSOutputStream_Class/Reference/Reference.html