我计划使用View.setTag(int, Object)
存储Uri
对象的哈希码,然后再通过AppCompatImageView
或Picasso
将其加载到Glide
中。
我想知道,在android生命周期中,AppCompatImageView
是否会被销毁并重新创建-保留来自setTag
的信息,而不保留实际图像本身的信息-从而造成不一致。
setTag
,加载的图像也将存在?答案 0 :(得分:1)
我计划使用
View.setTag(int, Object)
来存储 通过AppCompatImageView
将Uri对象加载到Picasso
或Glide
。
在进行ListView优化时,我们使用View.setTag(int, Object)
存储该特定视图的信息,只要重新绘制该视图即可重用,请记住不要重新创建单词redraw。因此,我们可以说直到视图的对象被保留或换句话说,视图不被破坏才是安全的。
我想知道,在android生命周期中,是否会有 AppCompatImageView被销毁并重新创建的时间- 保留来自setTag的信息,但不保留实际图像本身 -从而造成不一致。
最好不要发生这种情况。考虑到设备旋转的情况,将创建并绘制一个新的视图,因此它将不保存最后设置的标签的信息。
我保证只要setTag存在,加载的图像就会 还存在吗?
让我们这样说,imageView.setTag(int, Object)
将一直存在,直到您的ImageView存在为止,因此从ImageView到Tag的合成不是相反,从简单的Java术语来说,tag只是View类的类级别属性,即ImageView或AppCompatImageView扩展到层次结构中的某个位置。因此,如果存在ImageView,同一个ImageView对象,那么您的同一个标签就会存在。