【发布时间】:2015-05-18 22:38:13
【问题描述】:
我的 iphone 应用程序使用一些图像作为完整背景。它已经从 JSon 下载图像并在我运行应用程序时显示它们。我使用了这段代码:
dispatch_async(dispatch_get_global_queue(0,0), ^{
NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: newIndex[@"imageInside1"]]];
dispatch_async(dispatch_get_main_queue(), ^{
cell.thumbImage.image = [UIImage imageWithData:imageData];
});
});
但是当我运行应用程序时,显示图像需要很长时间。我认为是因为图像的分辨率(当它从互联网下载并显示到应用程序中时)。它们都是 1242x2208.jpg(与 iPhone 6 Plus 尺寸相同),因为我想保证所有尺寸背景的正确分辨率。我在做正确的程序吗?有没有其他方法可以让它更快?是否有必要将它们设置为 1242x2208 大小?对于我的情况来说,jpg 是更快的文件类型?
我的应用是一个包含不同项目的表格视图。当用户单击其中一个单元格时,它必须显示三个完整尺寸的背景图像,位于页面 ViewController 和页面控件(如教程 ViewControllers)内。我不知道为什么,但第一张图片从未出现过。我必须滑动页面控件以显示第二个,然后返回到第一个。在这第二次机会中,第一张图片出现了。
感谢您的帮助¡
【问题讨论】:
-
这跟 JSON 有什么关系???
-
图片是从 {"imageInside1":"www.example.com/img.jpg"} 下载的,上面的代码。我不知道这是否是正确的方法。不知道为什么太慢了……是不是跟Json有关?
-
与 JSON 无关——这只是信息的结构化方式。 XML 将有
<tag>info</tag>,在 JSON 中相同的是{"tag":"info"}(基本上)。它与下载图像需要多长时间几乎没有关系。
标签: ios objective-c iphone json uiimage