面试官:“你在项目中处理过图片吗,说一下你是如何对它做优化的,及三级缓存是什么?”
我们可以这样一步一步来回答:
1.一张图的大小是怎么计算的
要回答这个问题,我们要先从图片说起,从图片的像素说起:
如图,我们可以看到一张像拼图似的图片,这里面最小的那个小方格,就相当于我们说的一个像素。
那为什么我们在看图片的时候看不到那一个一个的小方格呢?
这是因为我们图片的像素特别的多,特别的小。
我们再来说一下 如何计算 一张图片的大小:
图片的大小 = 一个像素点的大小 × 像素的总个数
2.优化一张图的方法
我们知道了图片的大小是怎么计算的,那对于优化图片,我们不难想到2个思路:
-
①减小每个像素的大小
-
②减小像素的总个数
Android其实给我们提供了2个参数进行优化图片:
它们就是BitmapFactory.Options当中的
-
inPreferredConfig
设置图片解码后的像素格式,如ARGB_8888/RGB_565
那 ARGB_8888/RGB_565表示的又是什么意思呢?
ARGB_8888表示:
A(透明度) 要占用8位,</