安卓:我应该使用哪种图像格式?为什么?

13

我是一名初学者程序员,我的问题是: 在我的安卓应用中,我应该使用哪种图像格式?

描述: 我只使用插画,所以这些图片大多是背景图和一些按钮,我想知道最好的做法是什么。

我目前对图像的进展情况如下: 我使用.png文件格式。我不知道应该使用什么分辨率,现在我使用的图片大小约为300x400像素。

这是我使用图片的代码:

Bitmap bMap = BitmapFactory.decodeResource(getResources(), MyArray[index].getArtiD());

MyImageView.setImageBitmap(bMap);

这就是我在Android中使用图像的方式,如果有人知道问题、技巧或“必须知道的信息”,请告诉我。我真的不明白为什么要使用这个位图工厂或为什么应该使用png格式。我想尽我所能做到最好,但在Android文档中我看不到很多东西。

谢谢, Adam

2个回答

11

在安卓中,PNG是最佳的图像格式,因为它比JPG、JPEG等格式更轻巧,所以在使用这些图像时,绘制和操作的时间更短。

如果对于位图(bitmap)有疑问,请参考位图帮助文档

编辑 是的,如果您的图片位于资源文件中,则不需要使用位图。如果您的图片位于Drawable中,请使用:

ImageView img=new ImageView(this);
//You can use like that without using Bitmap
img.setImageResource(R.drawable.arrow_s);

1
为什么我要使用位图工厂呢? 即使PNG已经足够好了? - Adam Varhegyi
2
你可以仅从drawable文件夹中直接使用PNG图像。但是Bitmap可以解码图像流,也可以从资源中获取图像。 - Tofeeq Ahmad

3
请注意:"img.setImageResource(...)" 仍会调用位图例程,可能会在UI线程上发生不良的UI卡顿: http://developer.android.com/reference/android/widget/ImageView.html#setImageResource%28int%29 因此,您可能希望像这里所讨论的那样,在单独的线程中自己处理BitmapFactory,以避免这种情况: http://developer.android.com/training/displaying-bitmaps/index.html 至于最初的问题,PNG有很多形式(请参见PNG Wiki页面上的“PNG颜色选项”和“PNG颜色类型”)-- Android是否有一个受欢迎的PNG格式?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接