-
創(chuàng)建靜態(tài)的數(shù)組定義urls保存當(dāng)前獲取到的所有url地址構(gòu)造方法中獲取地址URL data中的從start到end 加載圖片獲取圖片加載所有圖片從緩存中尋找混村中沒有從網(wǎng)絡(luò)下載存儲(chǔ)ListView 創(chuàng)建集合管理 Task 構(gòu)造方法中初始化 set= new Hashset 啟動(dòng)之后存儲(chǔ)到task管理集合中找到對(duì)應(yīng)的imageView通過tag找打imgview findViewWithTag ImageView 找到方式和前面中通過tag listView滾動(dòng)的時(shí)候觸發(fā)下載任務(wù)查看全部
-
ListView滑動(dòng)停止后才加載可見項(xiàng) ListViwe滑動(dòng)時(shí),取消所有加載項(xiàng)滾動(dòng)的時(shí)候不加載滾動(dòng)的時(shí)候去加載沒有意義 修改適配器實(shí)現(xiàn)接口 onScrollStateChanged onScroll 判斷正在滾動(dòng)在listView停止?jié)L動(dòng)的時(shí)候當(dāng)前狀態(tài)停止加載可見項(xiàng) 如果是其他狀態(tài)停止任務(wù) 獲取可見項(xiàng)onScrolll第一個(gè)可見元素,可見元素的長度查看全部
-
通過跟蹤程序的運(yùn)行過程,Imgloader還不能放在VIEWHOlDER 里面。因?yàn)闀?huì)被多次調(diào)用。為什么這樣,還要進(jìn)行更深入的研究查看全部
-
IMageLoader 也可以放在ViewHolder中重用。查看全部
-
異步加載,緩存,ListView,ImageView查看全部
-
在Java中,跟網(wǎng)絡(luò)相關(guān)的操作大部分都需要捕獲異常查看全部
-
然而這里使用了異步機(jī)制,也就是說先返回ConvertView,再等異步線程修改,這是閃的本質(zhì)!由于教程里使每個(gè)異步線程人工阻塞了1s,那么上來有8個(gè)異步線程在運(yùn)行(編號(hào)1-8),如果1s之內(nèi)下滑了ListView比如說下滑了8個(gè),那么新更新的8個(gè)item還是用的以前的內(nèi)存,【并且】又開啟了8個(gè)異步線程(編號(hào)9-16)。因?yàn)轭A(yù)先設(shè)定了一個(gè)默認(rèn)圖片,所以先顯示綠色的默認(rèn)icon圖片。然后1-8號(hào)異步線程運(yùn)行完畢,更新ImageView(閃),緊跟著9-16異步線程運(yùn)行完畢,又更新imageView(閃),最終顯示正確結(jié)果。這就是下滑時(shí)先顯示默認(rèn)圖片,再閃一下錯(cuò)誤圖片,最后閃一下正確圖片的本質(zhì)過程。查看全部
-
url.openStream() 效果等同于url.openConnection().getStream()查看全部
-
創(chuàng)建LruChche查看全部
-
緩存的使用查看全部
-
通過地址找到圖片查看全部
-
Android中的異步加載查看全部
-
異步加載ListView ImageView查看全部
-
readStream(new URL(url).openStream())的功能與url.openConnection().getInputStream()相同 可根據(jù)URL直接聯(lián)網(wǎng)獲取網(wǎng)絡(luò)數(shù)據(jù),簡單粗暴! 返回值類型為InputStream查看全部
-
Android異步加載查看全部
舉報(bào)
0/150
提交
取消