Android WebView还是ImageView?

Android WebView还是ImageView?,android,webview,imageview,scale,download,Android,Webview,Imageview,Scale,Download,我有一个从URL下载和显示图像的应用程序。这可以很好地使用 URLConnection conn = urls[i].openConnection(); conn.connect(); if(conn.getContentLength() > 0) is = conn.getInputStream(); bis = new BufferedInputStream(is); Bitmap temp = BitmapFactory.decodeStream(bis); 我注意到WebView

我有一个从URL下载和显示图像的应用程序。这可以很好地使用

URLConnection conn = urls[i].openConnection();
conn.connect();
if(conn.getContentLength() > 0)
is = conn.getInputStream();
bis = new BufferedInputStream(is);
Bitmap temp = BitmapFactory.decodeStream(bis);
我注意到WebView的下载和显示图像比上面的代码快得多,所以我想我会试试

String url = "http:\\image.jpg"
int mWidth = getSystemService(Context.WINDOW_SERVICE).getDefaultDisplay().getWidth()
webView.loadData("<html><body> <img src=\"" + url + "\" width=\"" + mWidth + "px\" height=\"auto\"></body></html>", "text/html", null);
String url=“http:\\image.jpg”
int mWidth=getSystemService(Context.WINDOW\u SERVICE).getDefaultDisplay().getWidth()
loadData(“,”text/html“,null);
虽然这会使图像速度更快,但不会将图像缩放到屏幕大小,但大图像总是超出WebView的宽度,需要滚动才能正确查看

有人知道我如何解决这个问题,以便在WebView中正确显示图像,或者首先如何加快图像的下载速度吗


我更希望加速下载,但如果我能正确缩放图像,我很乐意使用WebView

通过CSS将图像元素的宽度设置为100%,高度应根据图像的纵横比进行缩放。

我还没有尝试过这个方法。但从你的问题中我可以看出,使用webview时唯一面临的问题是屏幕大小匹配问题。为了克服这个问题,您可以简单地将初始缩放级别设置为1,并且您的图像应该适合屏幕内部

试试这个

     <WebView  
      android:id="@+id/webview"
      android:layout_width="50dip" 
      android:layout_height="50dip"/>

webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);

webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverview模式(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(webView.SCROLLBARS\u外部\u覆盖);
webView.SetScrollBarFadinEnabled(假);

注:我不确定这将在多大程度上有效。我还没试过这个。但试一试是值得的

谢谢,虽然你是正确的图像确实会显示在屏幕上,但它不会总是充满屏幕。当我测试这个时,它的图像最终位于左上角,需要放大。将我的html代码与
width=“100%”
一起使用,它将始终填充浏览器窗口的宽度。您是否对这些实现运行过压力性能测试?我想知道WebView的性能是否比ImageView差,因为它是一个更重的组件。