这对你们来说似乎是一个愚蠢的问题,但它多次出现在我脑海中:
为什么Android中有ImageView
?我们有WebView
,它能够显示图像,还有更多东西。那你为什么还提供一个ImageView
呢?也许有一些根本原因,但我只是没有看到它。每当我想使用某些媒体时,我会尝试使用WebView
,因为如果我愿意,我可以更改媒体类型,而且我不需要其他类型的View
。
因此,为了不提出这个问题,我们将其归结为:
ImageView
在哪种情况下优于WebView
?
修改
还有第二个问题:
如果我有一些音频,一些html文本和一些本地存储在我的设备上的图片,我会使用一个WebView
来显示它们,或者我会为每种类型使用一种类型的视图媒体?
答案 0 :(得分:4)
在内存消耗方面,WebView是一个比ImageView更昂贵的小部件。
WebView内存成本的原因是WebView由相当完整的WebKit副本提供支持。 WebKit是一个开源Web渲染引擎,构成了主要Web浏览器的核心,例如Chrome和Safari。虽然Android中的WebKit版本是针对移动使用而优化的版本,但它仍然代表了相当大的代码库,渲染复杂的Web页面占用了相当多的RAM(因为任何在桌面上有很多浏览器标签的人都知道所有太好了。)
答案 1 :(得分:1)
事实: WebView
实施是如果用于下载&显示图像。 始终即可。此外,ImageView
具有用于裁剪,调整大小,缩放和放大的特殊方法/ XML标记。操纵图像(WebView
没有)。
答案 2 :(得分:0)
一个人在画廊中有一个图像。该persom想要在应用程序中显示它。它会做什么?
将其托管在在线图片托管网站上,然后将网址传递给WebView?
这是一个很酷的主意......人们和谷歌都明白这一点。
答案 3 :(得分:0)
基本上使用图像视图来显示来自gallery,drawable或url.Webview的图像,用于处理或显示Web内容或html类型的东西。
答案 4 :(得分:0)
ImageView会消耗更少的内存。 ImageView可以更改图像显示选项。 ImageView可以显示来自不同来源的图像,例如“Resources,drawables”。 WebView主要用于显示html页面。