多个ImageView持有相同的图像会创建额外的Drawable对象还是Drawable实例?

时间:2011-08-15 09:25:32

标签: android

我目前有ViewFlipper在每个屏幕中保持相同的ImageView。问题是我必须在ImageView[]中为每个屏幕创建一个ImageView数组,其唯一ViewFlipper是为了将它们添加到ViewFlipper,因为我遇到了这个孩子使用相同的ImageView时已经存在父问题。它们都引用R.drawable中的相同资源。

我的问题是:数组中的每个ImageView是否都创建了一个可绘制对象的单独实例,或者它们是否只包含对同一个可绘制对象的引用?此外,ImageView实例资源密集吗?我担心这会遇到开销问题,因为这个ImageView数组并不是唯一的数组。

1 个答案:

答案 0 :(得分:4)

drawables loaded from the same resource share a common state 似乎android架构师已经想到了这个问题,资源仅用于1个图像,所以你不会以这种方式获得开销。
另外:BitmapDrawables created from the same resource will for instance share a unique bitmap stored in their ConstantState.