-
url查看全部
-
Lru算法,近期最少使用算法查看全部
-
提高listview的滑动效率查看全部
-
异步加载——LruCache缓存 1. Lrc——Least Recently Used,LruCache类来实现缓存算法。 LruCache类将内容保存在内存中,并以一定的方法管理这些内容,来实现缓存管理。 2. LrcCache本质是一个Map,底层是通过HashMap实现的。 所以在使用LruCache时可以通过调用set()和get()方法使用。 3. 使用步骤: (1)先创建一个LruCache,并在构造函数中初始化它。 注意:通过匿名内部类的方式实现sizeOf()方法,sizeOf()方法用来获取每次缓存的对象的大小,默认返回元素的个数。sizeOf()方法在每次元素加入缓存时调用。 private LruCache<String, Bitmap> mLruCache; public ImageLoader() { //通过Runtime类获取运行时最大内存 int maxMemory = (int) Runtime.getRuntime().maxMemory(); int cacheSize = maxMemory/4; mLruCache = new LruCache<String, Bitmap>(cacheSize){ protected int sizeOf(String key, Bitmap value) { return value.getByteCount(); }};} (2)两个set()和get()方法,分别是加入元素到缓存以及从缓存中获取数据 public void addBitmapToCache(String url, Bitmap bitmap){ if(getBitmapFromCache(url)==null){ mLruCache.put(url, bitmap); } } public Bitmap getBitmapFromCache(String url){ return mLruCache.get(url); } (3)改写showImageByAsyncTask()和doInBackground() (如图)bitmap不在缓存中时才下载;下载完之后保存在cache中。 (4)最后要在创建Adapter对象时给ImageLoader的对象初始化,直接使用该对象。这样不会每次都创建LruCache查看全部
-
解析json数据插件:Json_Handler查看全部
-
适配器查看全部
-
文艺式适配器查看全部
-
在实现的项目中listView它的item可能是十分复杂的。如果我们仅仅使用前面所讲到的这些方法去实现listView的一个异步加载过程那么他的实际效果可能并不会很好、这是因为,listView的滚动对画面的流畅度要求是非常高的。当你做异步加载的时候,在加载的过程中我们虽然是在新的线程去执行的并没有阻塞UI线程,但当我们加载好了之后去更新UI线程,就会导致UI线程发生一次重绘,而这次重绘如果正好发生在ListView滚动的时候,就会导致ListView的滚动过程中卡顿一下。这也就是为什么很多ListView非常复杂的app在滚动的时候总会觉得会卡顿一下。这种体验是非常不好的、查看全部
-
ListView的Item中存在ImageView时,如何避免ImageView加载错乱? 可以使用图片的url作为ImageView的Tag设置进去,在设置图片的时候判断当前图片要使用的url与getTag()所获取到的url是否一致,如果是一致的再进行图片的设置,这样便可以避免ListView中图片的错乱。查看全部
-
异步加载之缓存查看全部
-
步骤1:用异步线程将json数据变成我们需要的数据,用一个list<NewsBean>接受解析后的数据并将它用作adapter的数据源。查看全部
-
这里简要介绍一下handle机制: 当应用创建的时候,应用主线程会生成一个Queue队列 如果handle在创建的时候并不赋予绑定的Queue,那么handle会自动绑定到自身所创建的线程中,也就是说在主线程中创建的handle会自动绑定到主线程 一个Queue可以指定多个Handle与其绑定 非UI线程更新UI的原理便产生了,在主线程中创建一个Handle(默认绑定到UI线程),我们在子线程中产生的结果交给来自主线程的handle便实现了异步加载 handle.post便是把一些执行操作回馈回到自身线程中操作(这就是为嘛handle.post是在子线程竟然可以更新主线程状态,因为这个handle绑定的是主线程)查看全部
-
当我们加载网络数据的时候通常使用的是json格式的数据。查看全部
-
异步加载这章比较重要,空了自己敲一遍查看全部
-
cache查看全部
举报
0/150
提交
取消