【0151】Bitmap高效加载及缓存策略
1.BitMap高效加载

1.1 BitMap的基本概念
【说明】
【1】BitMap本身是计算机中的非常重要的概念,非Android 独有;
【2】BitMap还有一个类:BitMapShower,可以进行一些特效的制作;


1.2 BitMap的加载方式
【说明】
【1】根据文件来源的不同,分为以下的几种加载方式:
【2】BitMap的创建使用的是一个工厂方法,不允许直接new;

1.3 BitMap的高效加载



【属性值】【public boolean inJustDecodeBounds】
【解释】If set to true, the decoder will return null (no bitmap), but the out... fields will still be set, allowing the caller to query the bitmap without having to allocate the memory for its pixels.
【功能】不显示可以直接查询图片的信息;

1.4.高效加载的实例
【options的设置】


【采样率的设置】

【Bitmap的使用】 通过网络下载图片,对比压缩前后的图片的信息

【结果】对比裁剪之后的图片的大小:确实大小进行了压缩;发生了数量级的改变;

2.Android 的缓存的策略
【内容提要】

2.1 缓存的概念
【说明】本地的内存中的数据具有易丢失的特性,因此有必要将数据缓存到本地中;

2.2 缓存的优势

2.3 常见的缓存使用的场景
【说明】常见的app是可以支持本地离线的图片的加载的

2.4 常用的缓存机制

3. Android LruCache
【内容提要】

3.1 LruCache的概念


3.2 LruCache 使用的实例
【框架】



【初始化缓存的对象】

【加载图片】

【缓存中对图片的操作】直接以键值对的形式对图片进行保存/提取;

【下载图片并将图片加载到缓存中】


4.DiskLruCache
【内容提要】

4.1 DiskLruCache的简单的介绍

4.2 DiskLruCache的使用


4.3 DIskLruCache的封装
【说明】为了降低第三库的耦合度,对第三方方库进行封装;使用到了【外观模式】;


【存储字符串的封装】

【取出字符串的封装】

【核心的方法】


4.4 DIskLruCache封装后的调用




浙公网安备 33010602011771号