我有一个包含大约100张大图像的ListView。每幅图像约为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"例如,在每次通话之间。
或者实际上,如果我只是这样做,可能会跟随另一个吗?!
那里的交易是什么? 所有Android工程师都会一直这样做吗?干杯!
我已经应用了所有其他经典技术,我已经用谷歌搜索了平滑的ListView滚动。干杯
(请注意,我已经尝试了许多系统来加载图像,并没有什么区别,但它不是通用图像加载器的问题,它不会出现问题。)
ashishduh,这里是来自getView的代码......如你所见,它是微不足道的。
(注意 - 设置大小没有区别。如果我尝试使用500.500固定,它是相同的)
...
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);
}
...
答案 0 :(得分:5)
对于在Google上搜索的人的记录......
我刚刚根据评论中的建议尝试 Picasso ...(谢谢)
真的,太棒了。只有Volley会更好。
毕加索效果很好,我关于错误图像调用的问题毫无意义。
http://square.github.io/picasso/
希望它有所帮助!
任何更好的答案,在这里发布积分!