如何在Android内存中存储位图?

时间:2012-05-26 19:35:59

标签: android android-canvas

未能找到这个。

如何将Bitmaps存储在Android的内存中?更具体地说,我正在寻找的是,它是否逐像素地存储信息,还是使用任何种类的算法来减少存储的像素数量,例如存储单个像素和数字重复多少次连续。我对此感到疑惑,因为我们无法将我们想要的所有图像都装入我们的游戏中。如果它确实使用某种算法,那么我们可以对原始图像做些什么来减少内存消耗,对吗?

2 个答案:

答案 0 :(得分:1)

位图是压缩存储的,但是如果没有在某些点组装像素,几乎无法显示位图。您最好的选择可能是保存有限的CPU堆,并将图像作为压缩的OpenGL ES纹理推送到GPU中。

其他: 看看Displaying Bitmaps Efficiently。如果有帮助,还要recycle你的位图。

答案 1 :(得分:0)

虽然实现可能选择使用 RLE 将位图存储在内存中,但我非常怀疑会这样做,因为使用它们会效率低下。< / p>

在Android 3.0及更高版本上,您可以请求更大的堆。

相关问题