各位博友好!从事开发工作近两年,第一次写博客,如果有写的不好的地方请大家多多见谅。为了以后自己更好的学习和工作,和希望把我所学到的这些知识和经验分享给大家。望大家以后共同进步。废话不多说了,我们进入正题吧。
我今天要讲述的是图片在内存中占用的空间大小的相关问题,由于在开发当中尤其是在嵌入式设备开发当中,我们对内容使用要求很高,如Android的设备在开发过程中,我们在加载图片资源的时候,如果图片资源使用不合理经常会出现内存溢出的问题,这个问题很是让人头疼。所以我们如果想要更好的把控内存的使用,因此了加载一个图片(Bitmap对象)会占用多少内存就显得至关重要。
下面我们就以Android的设备为例来讲述,首先我们要了解一下图片在内存中是什么样子的存在。其实无论什么样图片在读到内存中就是一个矩阵模型的数据,无论在外存(机身存储或sd卡等)中是以jpg、png或者其他格式的图片读到内存中都是一样的,它在对内存的占用只与该图片的分辨率、像素模式(ARGB、RGB)、像素位数(8位、16位、32位等,其中我们通常使用的是8位的像素及0-255或0x00-0xFF)。我们图片在内存中的大小是由这三个要素决定。
如100x100的png