0

I have stuck a Memory Issue about my application.
In My application I am going download 50 MB image and show into my iphone application.
Please suggest an example and proper step without Manage memory.

4

2 回答 2

1

正如已经建议的那样,它绝对应该在服务器上完成。

如果您无法在服务器端执行此操作,那么下载小图像和大图像应该没有区别。
只需使用NSURLConnection(或其他异步方法)下载数据,从数据创建图像并将其设置为图像视图。

我建议显示某种动画甚至进度,因为下载它并将数据转换为图像可能需要很长时间。
也许您最好在下载后根据需要调整大小以获得更好的性能。

确保在使用对象后立即释放所有内存。
一般来说,我认为 iOS 应用程序可以处理 50 MB 的图像大小......

于 2012-09-19T21:01:15.557 回答
0

将其缩放到实际呈现的大小和质量(最大)。这种缩放/转换应该自然发生在服务器端。

请注意,目前 ios 设备的最大可呈现像素数为 3145728(iPad 第 3 代 - Retina)。使用每像素 3 位且无压缩,对于像素最多的设备来说,这不到 10 MB

当然,您应该使用压缩(有损或无损由您决定)以最小化下载大小/时间。文件压缩后的结果大小将根据信号的复杂性和用于压缩的算法而有所不同——预计输入的一小部分。

您还应该考虑以多种大小存储源文件,以便非视网膜 ipod 或 iphone(内存比第三代 ipad 少)不需要下载和处理比设备能够呈现的文件大几倍的文件。

于 2012-09-19T20:30:55.520 回答