Bitmap 使用时候注意什么

2025-06-30 10:31:47

1、在手机中图片一般都是指Bitmap图片,为什么要说Bitmap呢?因为大家在开发应用的时候,都会使用一些图片来表现UI,用户也喜欢看图片,看文字获取信息太慢并且不直观,如果美工设计的好,看图片基本上不怎么看你的文字内容就知道你要表达什么

Bitmap 使用时候注意什么

2、Bitmap图片在加载到内存的时候是按照:宽*高*像素点位数来计算的。你可以把图片看成是由width行、height列的矩阵组成,每一个矩阵元素代表一个像素点,每一个像素点都是1byte整数倍的数据,这个数据越大,表示的色彩就越丰富,图片的显示质量就越高。

Bitmap 使用时候注意什么

3、首先要注意总的应用内存的大小限制,在Android系统中,给每一个应用分配了一定的内存空间,分配了多少要看厂家和机型,数值可以通过Runt足毂忍珩ime.getRuntime()方法获取实例,然后通过maxMemory()方法获取系统可为APP分配的最大内存,totalMemory() 获取APP当前所分配的内存heap空间大小,freeMemory()获取当前可用的内存,当被耗尽时会自动扩张,但是不会超过maxMemory。

Bitmap 使用时候注意什么

4、具体使用图片时一定要注意需要多大的照片。很多图片其实在手机上显示的时候不需要完全把原图加载到内存中,比如我手机相机拍了一张照片是4208*3120的,加载到内存中占用的内存就是52M,这是很恐怖的,两张照片差不多就把你的app内存给耗光了。一般情况下你都需要对需要加载的图片进行处理,这个处理主要是减小图片尺寸,降低分辨率,比如你的控件显示就是100*100的大小,那你就要把图片缩小到100*100。

Bitmap 使用时候注意什么

5、第三个要注意的是及时释放内存。安卓2.3.3(API级别10)之前,Bitmap像素数据和幞洼踉残Bitmap对象是分开存储的,像素数据是存储在native memory中,对象存储在Dalvik heap中,native memory中的像素数据不是以一种可预见的方式释放,可能导致应用程序暂时超过其内存限制和崩溃,所以在Android2.3.3(API 10)之前,你必须要调用recycle()方法来释放掉内存,避免出现OOM,当然前提是确定这个bitmap不再使用,否则会出现"Canvas: trying to use a recycled bitmap"。在Android3.0(API 11)之后,Bitmap的像素数据和Bitmap对象一起存储在Dalvik heap中,所以我们不用再手动调用recycle()来释放Bitmap对象,内存的释放都交给垃圾回收器来做了。

Bitmap 使用时候注意什么

6、总的来说,具体在Bitmap图像使用过程中,就是要注意总内存限制和图片需要的关系,一句话,就是管理好应用的内存

Bitmap 使用时候注意什么
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢