Android webview与imageview性能显示图像

时间:2014-02-09 12:45:56

标签: java android android-webview android-imageview android-volley

我经常搜索,但从未找到正确的答案。

哪种方式更好/更快地显示小图像或大图像?

1 个答案:

答案 0 :(得分:4)

这可能无法直接回答您的问题,但您是否尝试过使用Volley的NetworkImageView课程?我最近在一个大型项目中使用Volley来显示图像,它比我以前见过的任何东西都更快更稳定。 Volley是由谷歌的好人开发的Android网络库,它包括图像下载作为其工具箱的一部分。目前没有官方文档,但您可以在网上找到任意数量的示例。它可以轻松处理小图像或大图像。您需要做的就是将Volley库添加到项目中,并使用ImageView替换XML布局中的com.android.volley.toolbox.NetworkImageView

将以下变量添加到Activity类:

private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;

使用onCreate()的{​​{1}}方法创建对象:

Activity

然后使用mRequestQueue = Volley.newRequestQueue(context); mImageLoader = new ImageLoader(mRequestQueue, new ImageLoader.ImageCache() { private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>(10); public void putBitmap(String url, Bitmap bitmap) { mCache.put(url, bitmap); } public Bitmap getBitmap(String url) { return mCache.get(url); } }); 课程的getView()方法下载图片:

Adapter

在生产代码中,您将使用NetworkImageView image = (NetworkImageView)view.findViewById(R.id.image); image.setImageUrl("http://somerandomurl.com/somerandomimage.png",mImageLoader); RequestQueue类的全局实例,并且您的ImageLoader方法不会像在此玩具示例中那样混乱。

我不会使用webview来显示图像,当然可以这样做。如果你真的想看看哪种方式“更快”,你可以尝试onCreate()ImageViewNetworkImageView来加载大图片并使用{{1来获得粗略的时间估算方法。