仿微信图片选择器:一、项目整体分析:1. Android加载图片的3个目标:(1)尽可能的去避免内存溢出。 a. 根据图片的显示大小去压缩图片 b. 使用缓存对我们图片进行管理(LruCache)(2)用户操作UI控件必须充分的流畅。 a. getView里面尽可能不去做耗时的操作(异步加载 ...
分类:
微信 时间:
2015-10-26 09:13:25
阅读次数:
1198
在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量。对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理,每次打开应用都去网络获取图片,那么用户可就不乐意了,这里的处理就是指今天要讲的缓存策略(缓存层分为...
分类:
系统相关 时间:
2015-10-18 22:57:39
阅读次数:
338
自己项目中一直都是用的开源的xUtils框架,包括BitmapUtils、 DbUtils、ViewUtils和HttpUtils四大模块,这四大模块都是项目中比较常用的。最近决定研究一下xUtils的源码,用了这么久总 得知道它的实现原理吧。我是先从先从BitmapUtils模块开始的。Bitma...
分类:
系统相关 时间:
2015-09-29 14:32:25
阅读次数:
238
三级缓存: 1、网络缓存 从网络获取资源 2、本地缓存 从本地获取数据 3、内存缓存 从内存获取数据 内存缓存:主要是用到了LruCache这个类,这个类比较适合用来缓存图片,它会将强引用对象放在LineedHashMap中,当缓存数据大小达到预定值的时候会将在该集合中比较少...
分类:
移动开发 时间:
2015-09-28 22:18:26
阅读次数:
419
今天我们来一起学习一下缓存技术,相信大家做开发的时候都知道请求网络数据的重要,但是有一些只用请求一次就过时性的消息比如某些新闻信息,如果我们每次进入新闻界面就从新从网络上获取势必会给用户带来不好的体验,所以我们需要缓存技术来帮我们解决这一问题。1,LruCache介绍核心的类是LruCache (此...
分类:
移动开发 时间:
2015-09-27 16:15:44
阅读次数:
306
做android应用少不了要和网络打交道,在我刚开始学android的时候总是处理不好网络图片的加载,尤其是图片乱跳的问题,后来发现了各种缓存图片的方法:本地缓存、软引用、LruCache....我知道的这三种方法中,第一中和其他两种并不冲突,我们完全可以缓存到本地一份,在缓存到内存中一份。软引用这...
分类:
系统相关 时间:
2015-09-21 21:04:34
阅读次数:
235
import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.util.LruCache;/** * 对图片进行管理的工具类。 * * @author Tony */public class ....
分类:
其他好文 时间:
2015-08-27 09:28:35
阅读次数:
114
package android.util; import java.util.LinkedHashMap; import java.util.Map; /** * A cache that holds strong references to a limited number of ...
分类:
系统相关 时间:
2015-08-17 17:05:27
阅读次数:
139
LRU(Least Recently Used)是一种很常用的资源调度策略,与20/80原则契合,在资源达到上限时倾向保留最近经常访问的资源对象。 Android中基于LRU实现了缓存对象,即LruCache,有两处实现...
分类:
系统相关 时间:
2015-08-16 00:20:13
阅读次数:
222
在上一篇中讲完了Volley框架怎么使用,那么这篇就来讲讲Volley框架的缓存机制我们看Volley内部源码发现:
Volley框架内部自己处理了DiskBasedCache硬盘缓存,但是没有处理LruCache内存缓存,因为一般在处理图片的问题上才更多的用到LruCache缓存,但是它提供了一个ImageCache接口供我们自己实现,该接口默认需要实现两个方法:getBitmap(Strin...
分类:
其他好文 时间:
2015-08-14 19:08:14
阅读次数:
166