2015-11-26 79 views
1

我看到了这个答案:What is the difference between Bitmap and Drawable in Android?Bitmap,BitmapDrawable和Drawable有什么区别?

任何人都可以给一个实际的解释吗?何时使用?优势劣势?

+2

这样想:JPEG和PNG是图像编码的两个例子。所以当你处理图像时,你需要做两件事:解码图像(将流转换为像素)并渲染图像。 “位图”全部是关于编码/解码/操作像素的。 'Drawable'就是把东西渲染到屏幕上,这样你就可以看到它们。 'BitmapDrawable'就是它的所有组成部分。 –

回答

4

Bitmap只是一个图像。理想情况下,它将用于在屏幕上使用Canvas绘制像素,使用SurfaceView或类似的东西。

Drawable是一个描述可以在屏幕上绘制的东西的类。

BitmapDrawableDrawable的子类。这意味着它是一个Drawable想要绘制图像。

一般的Android观点与Drawable对象的工作,所以Drawable任何子类是可以接受的,这意味着如果你想在一个View使用Bitmap(原始像素),你需要创建一个BitmapDrawable并将它传递给它。

+0

我们是否也可以将'Btmap'转换为'Drawable'并将其作为背景传递给视图? – CopsOnRoad