对于大文件的下载,不能直接保存到data里面,因为如果文件很大必然会导致内存不足,进而导致app crash。
可以使用 ASIHTTPRequest 下载文件,下载的时候直接写入disk里面,这样就会避免内存不足的问题。
如以下 code:
上面下载文件的时候 采用了request startAsynchronous ,采取了异步的方式,这样导致了每一次http接收的data,都会起一个线程 来打开 file,然后写入file,这样会导致效率降低,进而会下载速度变慢
然后我改成了,采用 同步的方式,下载速度大大加快
没有时间查看 ASIHTTPRequest 在下载到文件的内部机制,姑且这样认为
以后在下载文件到路径的时候,直接采用 [request startAsynchronous];
没有评论:
发表评论