我最近在我的一个项目中注意到,在某些布局上我定义了ImageButton
,在某些布局上我定义了ImageView
。
两者都可以正常工作,具有相同的角色和相同的任务。
但是,
我的问题是;有正确的方法吗?如果不是tham之间的主要差异。
还让我知道定义imageview
和imagebutton
的任何与内存相关的差异?
哪个组件在运行时占用更多内存。
提前致谢。
答案 0 :(得分:3)
ImageButton
是一个ImageView
,它基本上只为图像按钮提供默认样式,图像按钮默认样式提供了一个可绘制的按钮背景。
在其他所有内容保持不变的情况下,将ImageView
无背景更改为ImageButton
会消耗更多内存,因为后台会占用一些内存。如果您担心,请使用内存分析工具来确定差异是否显着。
使用哪一个:如果您想要带有按钮样式的ImageButton
,请使用ImageView
。如果您只想显示图片,请使用ImageView
。
答案 1 :(得分:2)
ImageView扩展了视图
其中
ImageButton扩展了ImageView。
ImageView用于设置来自不同来源的图标,其中ImageButton显示一个按钮,其中包含可由用户按下或点击的图像(而不是文本)。
两个视图的内存分配取决于图像src否则在内存方面没有显着差异。