Android:我应该使用哪种图像格式,为啥? [关闭]
Posted
技术标签:
【中文标题】Android:我应该使用哪种图像格式,为啥? [关闭]【英文标题】:Android: Which image format shall I use and why? [closed]Android:我应该使用哪种图像格式,为什么? [关闭] 【发布时间】:2011-12-24 06:44:40 【问题描述】:我是一名初级程序员,我的问题是: 我应该为我的 android 应用使用哪种图像格式?
说明: 我只使用插图,所以图像主要是背景图像和一些按钮,我想知道哪种方法最好。
我目前在图像方面的进展如下: 我使用 .png 文件格式。我不知道我应该使用什么分辨率,现在我可以使用 300x400 像素的图像。
这是我使用图像的代码:
Bitmap bMap = BitmapFactory.decodeResource(getResources(), MyArray[index].getArtiD());
MyImageView.setImageBitmap(bMap);
这就是我在 Android 中使用图像的方式,如果有人知道问题、提示或“必须知道的信息”,请告诉我这样做。我真的不明白为什么要使用这个位图工厂或为什么要使用 png 格式。我想以最好的方式做到这一点,而且我在 android 文档中看不到很多东西。
谢谢, 亚当
【问题讨论】:
【参考方案1】:在 android 中,最好的图像格式是 PNG,因为它比 JPG、JPEG 等更轻,因此在使用这些图像时易于绘制并且执行操作所需的时间更少。
对于位图,通过这个 Bitmap Help
已编辑 是的,如果您的资源中有图像,则无需使用位图。如果您的图像在 Drawable 中,则 使用
ImageView img=new ImageView(this);
//You can use like that without using Bitmap
img.setImageResource(R.drawable.arrow_s);
【讨论】:
那我为什么要使用位图工厂呢? ...如果 png 足够好? 您只能使用可绘制文件夹中的PNG图像(如果存在则直接使用)。但是位图可以解码图像流,它也可以从资源中获取图像。【参考方案2】:请注意:“img.setImageResource(...)”仍然调用位图例程,可能在 UI 线程上: http://developer.android.com/reference/android/widget/ImageView.html#setImageResource%28int%29
这可能会导致不良的 UI 滞后,因此您可能希望自己在单独的线程中处理 BitmapFactory,如下所述: http://developer.android.com/training/displaying-bitmaps/index.html
至于最初的问题,PNG 有多种形式(请参阅:PNG Wiki 页面上的“PNG 颜色选项”和“PNG 颜色类型”)——Android 是否有首选的 PNG 格式?
【讨论】:
以上是关于Android:我应该使用哪种图像格式,为啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
iPhone 和 Android 可以录制和播放哪种音频格式?