Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
Android 我是否应该错开大量图像加载呼叫?_Android_Listview_Android Imageview - Fatal编程技术网

Android 我是否应该错开大量图像加载呼叫?

Android 我是否应该错开大量图像加载呼叫?,android,listview,android-imageview,Android,Listview,Android Imageview,我有一个包含大约100个大图像的列表视图。每个图像约为640.640 jpg,显示屏幕大小为1/2。典型的画廊 我目前正在使用奇妙的universal-image-loader-1.9.2加载图像 ParseFile photoFile = p.getParseFile("imageFile"); ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.displayImage( photoFile.getUrl(), t

我有一个包含大约100个大图像的列表视图。每个图像约为640.640 jpg,显示屏幕大小为1/2。典型的画廊

我目前正在使用奇妙的universal-image-loader-1.9.2加载图像

ParseFile photoFile = p.getParseFile("imageFile");
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage( photoFile.getUrl(), theImageView );

现在,当它们加载时,ListView有点结巴

现在,巧合的是,我的手机在一个非常慢的WiFi网络上。事实上,它像丝绸一样光滑。

一开始,我不明白为什么突然改善!机缘巧合

事实上,在这种情况下:是否值得错开调用来加载图像

例如,我可以在每次通话之间留出0.1英寸

或者事实上,我应该一个接一个地做吗

这是怎么回事?所有的安卓工程师都这么做吗?干杯

我已经应用了谷歌搜索到的所有其他经典技术,实现了平滑的列表视图滚动。干杯

(请注意,我已经尝试了许多系统来加载图像,这没有什么区别,通用图像加载程序没有问题,因为它会震动。)


ashishduh,这是来自getView的代码…正如您所看到的,它很简单

(注意-设置大小没有任何区别。如果我尝试使用固定的500.500,则大小相同)


记录下在这里搜索的所有人

我只是根据评论中的建议尝试了毕加索(谢谢)

真的,太棒了。只有截击才会更好

毕加索的作品如此之好,我关于惊人的图像调用的问题是毫无意义的

希望它能帮助别人

如果有更好的答案,请在这里发布


PS1重要的一点是,毕加索有一个“fetch”命令,这是一个预热命令。在某些情况下,你可以使用它来获得更大的效果


PS2正如我上面提到的,唯一比毕加索更好的事情就是抽射。希望它能帮助别人。

对于任何在这里搜索的人来说

我只是根据评论中的建议尝试了毕加索(谢谢)

真的,太棒了。只有截击才会更好

毕加索的作品如此之好,我关于惊人的图像调用的问题是毫无意义的

希望它能帮助别人

如果有更好的答案,请在这里发布


PS1重要的一点是,毕加索有一个“fetch”命令,这是一个预热命令。在某些情况下,你可以使用它来获得更大的效果


PS2正如我上面提到的,只有一件事比毕加索更好,那就是抽射。希望它能帮助别人。

“现在,当他们加载时,你的ListView有点结巴“--使用Traceview可以准确地找出问题所在。您可以使用此LIB异步加载或下载文件,这对性能视图wSakly非常有帮助—这也是一个令人难以置信的提示。(应该是答案吗?)Universal Image Loader令人惊叹,令人敬畏。但是我注意到您引用的包声明避免了重复的同时抓取,如果是这样的话,也许就是这样。我对UIL不太熟悉,但是如果它是真正的异步加载,那么应该是0 stutter。我使用了一个类似的库,名为gridview,它包含数百幅图像,没有任何结巴。也许发布你的适配器
getView
code?我会投入2美分:对于图像库,我会使用类似的东西。显然,这并不能真正回答你的问题。但也许这个概念会给你一个不同的方法:一句话,女士们先生们。。。标页码换言之,假设您一次加载10个图像。我想它会足够快。然后,按下一个按钮(因为您将ListView设计为有页脚,是吗?),加载下一个10。接下来的10天。。。一次又一次(真是一个诗人!)“现在,当他们加载时,ListView上会有点结巴”——使用Traceview可以准确地找出问题所在。你可以使用这个libs异步加载或下载文件,这对性能视图非常有帮助——这也是一个令人难以置信的提示。(应该是答案吗?)Universal Image Loader令人惊叹,令人敬畏。但是我注意到您引用的包声明避免了重复的同时抓取,如果是这样的话,也许就是这样。我对UIL不太熟悉,但是如果它是真正的异步加载,那么应该是0 stutter。我使用了一个类似的库,名为gridview,它包含数百幅图像,没有任何结巴。也许发布你的适配器
getView
code?我会投入2美分:对于图像库,我会使用类似的东西。显然,这并不能真正回答你的问题。但也许这个概念会给你一个不同的方法:一句话,女士们先生们。。。标页码换言之,假设您一次加载10个图像。我想它会足够快。然后,按下一个按钮(因为您将ListView设计为有页脚,是吗?),加载下一个10。接下来的10天。。。一次又一次(多么伟大的诗人啊!)。
...
v.someTextView.setText(blah);
v.someTextView.setText(blah);

// and now the big image
if (p.containsKey("imageFile"))
    {
    // this cell has a big image

    v.mainImage.setVisibility(View.VISIBLE);
    ParseFile photoFile = p.getParseFile("imageFile");

    // ...using p.getNumber("imageWidth").floatValue(); and height
    // from the cloud, calculate needed width/height on the phone...

    v.mainImage.getLayoutParams().width = Math.round(desiredGlassWidth);
    v.mainImage.getLayoutParams().height = Math.round(desiredGlassHeight);

    ImageLoader imageLoader = ImageLoader.getInstance();
    imageLoader.displayImage( photoFile.getUrl(), v.mainImage );
    }
else
    {
    // this pcell has no big image
    v.mainImageIV.setVisibility(View.GONE);
    }
...