Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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
Java Android上的渐进式图像加载_Java_Android_Bitmap_Loading_Partial - Fatal编程技术网

Java Android上的渐进式图像加载

Java Android上的渐进式图像加载,java,android,bitmap,loading,partial,Java,Android,Bitmap,Loading,Partial,我有一个ViewPager,我用它来浏览几个图像视图(大约1000个),每个视图都加载一个全屏位图。我正在使用选项对图像进行二次采样。inSampleSize并使用memcache提高性能,但这仍然不够快。我试图避免的是用户在快速浏览视图时看到空白的图像视图 我想知道是否有办法在加载请求的图像时为部分渲染的图像(或低质量)提供服务 我注意到Android gallery中包含了类似的内容(放大和缩小时尤其明显,加载看起来类似于在web上加载渐进式JPEG),但我还没有找到任何相关信息。Andro

我有一个ViewPager,我用它来浏览几个图像视图(大约1000个),每个视图都加载一个全屏位图。我正在使用
选项对图像进行二次采样。inSampleSize
并使用memcache提高性能,但这仍然不够快。我试图避免的是用户在快速浏览视图时看到空白的图像视图

我想知道是否有办法在加载请求的图像时为部分渲染的图像(或低质量)提供服务


我注意到Android gallery中包含了类似的内容(放大和缩小时尤其明显,加载看起来类似于在web上加载渐进式JPEG),但我还没有找到任何相关信息。

Android目前没有提供在解码过程中获取中间图像的方法(例如,渐进式JPEG)。您只能获得一张最终图像

您已经在使用inSampleSize获取更粗糙的图像版本。这使解码速度有望更快,尽管没有时间保证:它在引擎盖下使用libjpeg。您是否测量了每个图像解码所需的时间?您是否尝试将inPreferQualityOverSpeed设置为false?是否重复使用相同的位图(也可能加快解码速度)。您还可以检查inSampleSize是否使解码速度有所不同


在任何情况下,如果您需要同一图像的更详细版本,则获取低质量图像的任何工作都会很快丢失,因为您必须从头开始解码。因此,您希望将解码限制为可见图像及其近邻,以便您可以在没有空白图像的情况下滚动。

oesn默认情况下不会这样做,有一些方法可以对图像执行部分解码。不过,这肯定不会比只加载完整图像快。@Cam提到了Gallery应用程序-它首先从MediaStore加载一个更小的、以前调整大小的图像版本。