Android布局和大图像

时间:2013-07-30 03:07:17

标签: android layout android-image

由于内存限制和图像的大文件大小,我需要使用BitmapFactory.decodeResource为我的布局动态解码图像。我想使用XML布局编辑器以图形方式定义我的布局,但是当调用setContentView()或在Activity中使用LayoutInflater扩展布局时,将加载图像元素的android:src属性中引用的图像并导致OutOfMemoryException。解决此问题的一种方法是不在XML图像元素中定义android:src属性,并在解码后使用ImageView.setImageBitmap以编程方式将动态解码的图像附加到膨胀的布局。但是,没有定义android:src意味着我失去了以图形方式定义我的布局的能力。另一种方法是在图形化设计布局时使用小占位符图像,并在运行时用解码图像替换它们。这是一个痛苦,因为我需要为此目的保留所有图像文件的单独副本。

任何人都可以建议采用一种方法来允许我以编程方式动态解码/附加图像文件到布局元素,而不会失去以图形方式设计我的布局的能力吗?我真的不想用代码手动构建整个布局,也不想维护单独的“设计副本”图像。

1 个答案:

答案 0 :(得分:0)

请参阅: http://developer.android.com/training/displaying-bitmaps/index.html

他们可以使用大量的提示和示例代码。除此之外,您还可以使用Bitmap的.compress()方法来获得位图的压缩版本