Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Iphone中运行时,有没有办法更快地从服务器获取图像(64*64)?_Iphone_Image Processing - Fatal编程技术网

在Iphone中运行时,有没有办法更快地从服务器获取图像(64*64)?

在Iphone中运行时,有没有办法更快地从服务器获取图像(64*64)?,iphone,image-processing,Iphone,Image Processing,我想以更快的方式将图像提取到我的应用程序缓存中 我做了一个类似地图的应用程序,每次在UIscrollView中加载大约25个图像,每个图像下载大约需要1秒 所有图像的大小均为64KB和256*256维。我正在进行缓存,所以在我第一次滚动之后,将有大约7-8个图像需要加载,这也需要每秒的时间。因此,在滚动地图的过程中,它停留大约7-8秒。 是否有一种方法可以提高获取图像的速度,以便每秒至少加载4-6个图像?您需要释放主线程并在后台线程上执行此操作。当你在主线程上做繁重的工作时,它会阻塞,你的应用程

我想以更快的方式将图像提取到我的应用程序缓存中

我做了一个类似地图的应用程序,每次在UIscrollView中加载大约25个图像,每个图像下载大约需要1秒


所有图像的大小均为64KB和256*256维。我正在进行缓存,所以在我第一次滚动之后,将有大约7-8个图像需要加载,这也需要每秒的时间。因此,在滚动地图的过程中,它停留大约7-8秒。


是否有一种方法可以提高获取图像的速度,以便每秒至少加载4-6个图像?

您需要释放主线程并在后台线程上执行此操作。当你在主线程上做繁重的工作时,它会阻塞,你的应用程序会显得没有响应。(如果您不知道正在运行的线程是什么,则可能是主线程。)


看看。

您需要释放主线程,并在后台线程上执行此操作。当你在主线程上做繁重的工作时,它会阻塞,你的应用程序会显得没有响应。(如果您不知道正在运行的线程是什么,则可能是主线程。)


请看。

您的web浏览器通过并行旋转多个后台获取线程(减少总下载时间)并在地图分幅出现时显示地图分幅来实现这一点(提供更高响应性的假象)


通过在Firefox上安装Firebug,然后在加载复杂页面时激活Firebug,您可以获得更好的体验。它将向您显示一个图形,显示获取每个页面组件所需的时间,并显示并行性。

您的web浏览器通过并行旋转多个后台获取线程(减少总下载时间)并在地图分幅进入时显示地图分幅来实现这一点(提供更高响应性的错觉).


通过在Firefox上安装Firebug,然后在加载复杂页面时激活Firebug,您可以获得更好的体验。它将向您显示一个图形,显示获取每个页面组件所需的时间,这显示了并行性。

您应该使用CATiledLayer,它会为每个平铺渲染一个单独的线程。这就是地图应用程序的绘图方式。您可以让它下载绘图代码中的图像,它不会阻塞主线程,因此滚动会很平滑。下载图像仍然需要时间,但如果您有一个低分辨率的代理图像,则可以在加载真实图像时显示该图像。

您应该使用CATiledLayer,它为渲染每个磁贴派生出一个单独的线程。这就是地图应用程序的绘图方式。您可以让它下载绘图代码中的图像,它不会阻塞主线程,因此滚动会很平滑。下载图像仍然需要时间,但如果您有一个低分辨率的代理图像,则可以在加载真实图像时显示该图像。

是否使用更快的服务器?我的意思是,这里没有足够的信息来了解瓶颈可能是什么,而且你甚至没有说你正在使用什么API,图像采用什么格式(压缩?)等等。服务器是否支持glib压缩?你在使用HTTP吗?1.0? 1.1?“所以在滚动地图的过程中,它停留了大约7-8秒”我想他是说应用程序冻结了…对不起,我没说清楚。应用程序没有冻结。当我必须加载新图像时,我只需禁用滚动,然后加载图像,然后启用。从服务器加载图像花费了我很多时间。所以一直以来,滚动被禁用,因此无法滚动。如果你是替补,我的意思是你知道该做什么吗?我对你的新问题有相同的答案。在后台执行此操作,但不要禁用滚动…我很惊讶没有人提到这一点,但256x256px图像的64kb?无论你处理得多么好,你都会达到3G的带宽上限,试图拉低这样的图像。让它们成为JPG而不是PNG,或者使用GIF!获得更快的服务器?我的意思是,这里没有足够的信息来了解瓶颈可能是什么,而且你甚至没有说你正在使用什么API,图像采用什么格式(压缩?)等等。服务器是否支持glib压缩?你在使用HTTP吗?1.0? 1.1?“所以在滚动地图的过程中,它停留了大约7-8秒”我想他是说应用程序冻结了…对不起,我没说清楚。应用程序没有冻结。当我必须加载新图像时,我只需禁用滚动,然后加载图像,然后启用。从服务器加载图像花费了我很多时间。所以一直以来,滚动被禁用,因此无法滚动。如果你是替补,我的意思是你知道该做什么吗?我对你的新问题有相同的答案。在后台执行此操作,但不要禁用滚动…我很惊讶没有人提到这一点,但256x256px图像的64kb?无论你处理得多么好,你都会达到3G的带宽上限,试图拉低这样的图像。让它们成为JPG而不是PNG,或者使用GIF!基于上述原因,你会有替补,当我们做平铺贴图的时候,线程是没有用的。基于上述原因,你会有替补,当我们做平铺贴图的时候,线程是没有用的。