2013年10月25日星期五

ASIHTTPRequest 下载文件

对于大文件的下载,不能直接保存到data里面,因为如果文件很大必然会导致内存不足,进而导致app crash。

可以使用 ASIHTTPRequest 下载文件,下载的时候直接写入disk里面,这样就会避免内存不足的问题。

如以下 code:






上面下载文件的时候 采用了request startAsynchronous ,采取了异步的方式,这样导致了每一次http接收的data,都会起一个线程 来打开 file,然后写入file,这样会导致效率降低,进而会下载速度变慢


然后我改成了,采用 同步的方式,下载速度大大加快





没有时间查看 ASIHTTPRequest 在下载到文件的内部机制,姑且这样认为

以后在下载文件到路径的时候,直接采用 [request startAsynchronous];




没有评论:

发表评论