在内存方面,Android的最佳图像文件格式是什么?推荐使用PNG用于iOS,因为xCode对它有一些魔力。对Android来说它是否相同?
我目前正在开发一款带有多个动画的大型应用程序(屏幕滑动,褪色等)。到目前为止一切运作良好!但是我注意到视图动画,其中视图包含带有(非常大)PNG的ImageView,因为源有点滞后。
显然我可以让PNG更小,但是我还能做些什么来减少ImageView占用的内存量/使动画流畅吗?我知道PNG的文件大小比JPEG大得多,但我看不出这是一个问题,JPEG或PNG(我假设)最终存储为颜色数组,因此它们都会占用相同的内存。由于较少的循环解压缩,PNG可能更适合加载。我只是假设,我对图像文件格式的了解是空的。
或者还有其他什么导致滞后?是否缩放位图以适应动画期间每个onDraw()的视图,因此我应该在将代码放入ImageView之前在代码中缩放位图吗?
谢谢,
答案 0 :(得分:2)
Android支持的格式为:PNG,JPG和GIF(也是9.png)。 如dev guide
中所述,推荐的是PNG所有这些都作为Bitmap存储在内存中,所以最重要的是颜色deph,如下所示:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon, options);
更多信息:stackoverflow
答案 1 :(得分:0)
并添加(蜂窝后):
<application
android:largeHeap="true"
...
到清单文件:=)
感谢亲爱的朋友:)