今天讀取相簿, 且將縮圖放到ListView遇到了問題, 當ListView滾動的時
候, 會去更新getView的內容, 但是我的縮圖是從storage取出來的, 因此勢
必將其轉成bitmap或者其他resource, 才能丟進ImageView內, 這樣一來
每次滾動就沒辦法很快速的更新ImageView, 造成UI的delay,
於是我將其縮圖丟進Thread讓他跑完, 在縮圖呈現出來,
雖然有大幅改善滾動時畫面的更新速度, 但是還是會出現蠻明顯的卡卡,
因此我上網搜尋資訊, 發現其實已經有很多issue在討論這種現象,
並且出現一個Image cache的機制,
目前官方也有支援 可以參考
另外也有不少第三方支援類似的機制
http://www.trinea.cn/android/android-imagecache/
http://square.github.io/picasso/
https://github.com/mitmel/Android-Image-Cache
http://www.trinea.cn/android/android-imagecache/
http://square.github.io/picasso/
https://github.com/mitmel/Android-Image-Cache
最後我是以這個第三方解掉問題
https://github.com/nostra13/Android-Universal-Image-Loader
而且我強烈推薦此lib , 因為他不但多人維護, License 是apache 2.0 , 而且範例非常完整。
https://github.com/nostra13/Android-Universal-Image-Loader
而且我強烈推薦此lib , 因為他不但多人維護, License 是apache 2.0 , 而且範例非常完整。