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