导航:首页 > 操作系统 > android高效加载图片

android高效加载图片

发布时间:2025-08-26 15:52:39

1. Android 图片加载(一)高效加载Bitmap 基础篇

由于Bitmap的特殊性以及Android对单个应用所规定的最大内存限制,我们在同时加载大量Bitmap时很容易发生内存溢出,即我们通常所说的OutOfMemoryError(OOM),因此高效加载Bitmap就成为了每个Android开发者的必备技能。

在学习如何高效地加载Bitmap之前,首先介绍一下如何加载一个Bitmap。我们都知道,Bitmap在Android中通常指的是一张图片,那么如何将JPG、PNG等格式的图片转换成Bitmap对象呢?BitmapFactory类给我们提供了一些方法:

接下来开始介绍如何高效地加载Bitmap,其实核心思想很简单: 就是采用BitmapFactory.Options参数来调整图片尺寸来适配控件的大小。

假如我们显示图片的控件ImageView宽高为100×100像素,而图片的尺寸为1024×1024像素,这个时候如果将整个图片加载进来并显示到控件上,自然是很占用内存资源的。这个时候可以通过BitmapFactory.Options按一定的采样率加载缩小后的图片,再将缩小后的图片显示到ImageView中,这样就能减小内存占用从而在一定程度上避免OOM的发生。

通过BitmapFactory.Options来缩放图片,主要是使用它的inSampleSize参数,也就是前面提到的采样率。当采样率inSampleSize为1时,采样后的图片大小为原图大小;当采样率inSampleSize>1,比如为2时,采样后的图片宽高都为原图的1/2,即像素降为原图的1/4,占用的内存大小也就是原图的1/4;比较特殊的是,当采样率inSampleSize<1时,系统会自动将该值当做1来处理。 因此可以得出一个结论:采样率inSampleSize必须是大于1的整数图片才会有缩小的效果,并且采样率同时作用于宽高,也就是说采样后的图片会缩小到原图的1/(inSampleSize^2)。比如inSampleSize=4,那么缩放比例为1/16。

我们现在知道了,通过采样率可以提高图片的加载效率,那么如何才能计算出最合适的采样率?我们可以按照如下流程:

接下来以decodeFile方法为例实现图片的缩放,其他三个方法处理方式类似。

下一篇: Android 图片加载(二)图片加载框架Glide 入门篇

《Android开发艺术探索》

阅读全文

与android高效加载图片相关的资料

热点内容
有什么手机app可以抓页面元素 浏览:514
夏雨程序员 浏览:824
如何确定单片机定时器补偿值 浏览:731
加工单元的plc编程 浏览:887
做饭程序员男人被开除 浏览:840
仿苹果小圆点控件源码 浏览:599
单片机lcd1602程序 浏览:897
松下冰箱压缩机顶置 浏览:37
解压玩具asmr油管 浏览:69
matlab编程语言是什么 浏览:421
学编程的朋友圈说说 浏览:808
电脑命令在哪 浏览:96
怎么进公司服务器地址 浏览:461
windows下make命令 浏览:487
计算机编程班地扯 浏览:272
化工压缩机型号 浏览:606
android高效加载图片 浏览:915
flygram服务器连接超时怎么办 浏览:546
java读文件读一行 浏览:615
什么app定酒店便宜 浏览:778