-
url查看全部
-
Lru算法,近期最少使用算法查看全部
-
提高listview的滑動效率查看全部
-
異步加載——LruCache緩存 1. Lrc——Least Recently Used,LruCache類來實現緩存算法。 LruCache類將內容保存在內存中,并以一定的方法管理這些內容,來實現緩存管理。 2. LrcCache本質是一個Map,底層是通過HashMap實現的。 所以在使用LruCache時可以通過調用set()和get()方法使用。 3. 使用步驟: (1)先創(chuàng)建一個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)最后要在創(chuàng)建Adapter對象時給ImageLoader的對象初始化,直接使用該對象。這樣不會每次都創(chuàng)建LruCache查看全部
-
解析json數據插件:Json_Handler查看全部
-
適配器查看全部
-
文藝式適配器查看全部
-
在實現的項目中l(wèi)istView它的item可能是十分復雜的。如果我們僅僅使用前面所講到的這些方法去實現listView的一個異步加載過程那么他的實際效果可能并不會很好、這是因為,listView的滾動對畫面的流暢度要求是非常高的。當你做異步加載的時候,在加載的過程中我們雖然是在新的線程去執(zhí)行的并沒有阻塞UI線程,但當我們加載好了之后去更新UI線程,就會導致UI線程發(fā)生一次重繪,而這次重繪如果正好發(fā)生在ListView滾動的時候,就會導致ListView的滾動過程中卡頓一下。這也就是為什么很多ListView非常復雜的app在滾動的時候總會覺得會卡頓一下。這種體驗是非常不好的、查看全部
-
ListView的Item中存在ImageView時,如何避免ImageView加載錯亂? 可以使用圖片的url作為ImageView的Tag設置進去,在設置圖片的時候判斷當前圖片要使用的url與getTag()所獲取到的url是否一致,如果是一致的再進行圖片的設置,這樣便可以避免ListView中圖片的錯亂。查看全部
-
異步加載之緩存查看全部
-
步驟1:用異步線程將json數據變成我們需要的數據,用一個list<NewsBean>接受解析后的數據并將它用作adapter的數據源。查看全部
-
這里簡要介紹一下handle機制: 當應用創(chuàng)建的時候,應用主線程會生成一個Queue隊列 如果handle在創(chuàng)建的時候并不賦予綁定的Queue,那么handle會自動綁定到自身所創(chuàng)建的線程中,也就是說在主線程中創(chuàng)建的handle會自動綁定到主線程 一個Queue可以指定多個Handle與其綁定 非UI線程更新UI的原理便產生了,在主線程中創(chuàng)建一個Handle(默認綁定到UI線程),我們在子線程中產生的結果交給來自主線程的handle便實現了異步加載 handle.post便是把一些執(zhí)行操作回饋回到自身線程中操作(這就是為嘛handle.post是在子線程竟然可以更新主線程狀態(tài),因為這個handle綁定的是主線程)查看全部
-
當我們加載網絡數據的時候通常使用的是json格式的數據。查看全部
-
異步加載這章比較重要,空了自己敲一遍查看全部
-
cache查看全部
舉報
0/150
提交
取消