0
我正在从远程服务器实现优化的图像下载机制。图像下载的建筑设计
我想到了两种不同的认识。
1.创建一个新线程并以单线程的方式以异步方式下载所有图像。
2.创建线程下载每个图像。假设我想下载50张图片,那么会有50个线索下载这些图片。
哪种方法在设计和优化方面更好?
谢谢,
吉姆。
我正在从远程服务器实现优化的图像下载机制。图像下载的建筑设计
我想到了两种不同的认识。
1.创建一个新线程并以单线程的方式以异步方式下载所有图像。
2.创建线程下载每个图像。假设我想下载50张图片,那么会有50个线索下载这些图片。
哪种方法在设计和优化方面更好?
谢谢,
吉姆。
您的解决方案都有缺陷。
1)只有一个线程意味着你只下载一个图像?这似乎效率低下
2)出于同样的原因,有一次下载是一个坏主意,有50个图像,同时下载是一个糟糕的性能想法,并会放慢万物。还要考虑下载数据的线程对于系统(网络I/O,磁盘I/O等等)是资源昂贵的。
我可以建议不要重新发明轮子并使用可可/可可触摸实现队列,这意味着您可以添加多少操作(在这种情况下,操作是图像下载),但您可以指定最大并发操作数(通过maxConcurrentOperationCount
属性)。
NSOperationQueue处理所有多线程的东西,自iOS 4以来它使用GCD来执行操作。
使用EGOImageView ..这是一个异步映像dowloaded .... https://github.com/enormego/EGOImageLoading/ – userar 2012-07-13 09:50:36