gpt4 book ai didi

iphone - NSData dataWithContentsOfURL 慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:29 27 4
gpt4 key购买 nike

我在使用 NSData dataWithContentsOfURL 时遇到一些性能问题...

NSURL *url = [NSURL URLWithString:Imagepath];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img=[UIImage imageWithData:data];
[ArrayImages addObject:img];

此代码放置在管理从 NSUrl 连接获得的 JSON 响应的方法中(在调用我的网络服务之后)。此方法中的所有代码已经在后台线程中,将这段代码移出后台线程并不能解决问题。所有检索到的图像都放在主线程的 View 中。我可以做些什么来使 dataWithContentsOfURL 更快,或者有 dataWithContentsOfURL 的替代方法?

提前致谢

最佳答案

+[NSData dataWithContentsOfURL:] 并不“慢”。如果加载一张图片需要很长时间,则问题出在其他地方。


评估您的问题。对于初学者:

  • 哪个资源是瓶颈?可能是网络。
  • 你如何加载图像?一次全部?那会很糟糕——在它们准备就绪时展示它们。
  • 图片的尺寸是多少?我看到一个 SO 问题,发帖者想要加载 50 MB 图片。那太大了。同样,如果您只需要缩略图,请务必从服务器请求并加载缩略图,而不是完整尺寸的图像。
  • 您是否正在加载您甚至不需要显示的内容?等到您需要显示它们。
  • 您为网络任务使用了多少个线程?对于 CPU?对于 I/O?
  • 您的源图像是否被正确地“粉碎”了?
  • 编写您的程序,使其与程序的表示模型保持一致。示例:我有大量图像要显示在表格中,但我确保最大限度地减少资源使用,并确保应用程序很好地支持加载和请求取消。这一切都是通过网络进行的,而且速度非常快(受网络限制)。

如果您从设备存储中加载许多图像,您应该考虑使用 -[UIImage initWithContentsOfFile:],因为您的图像数据不会被缓存,但可以被清除。

关于iphone - NSData dataWithContentsOfURL 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com