Android載入圖片 Universal-Image-Loader圖片快取問題
開發中大部分情況下我們需要快取圖片,用imageLoader兩步實現載入網路圖片後,快取到記憶體以及sd卡.再次讀取該圖片時先從記憶體找,有則直接載入,沒有則從sd卡找,再沒有則讀網路,這樣實現了三級快取.
1.初始化配置,ImageLoader是單例模式,初始化一次,以後再用就getInstance()獲取到即可,我們需要在第一次初始化時進行配置.
File cacheDir = StorageUtils.getOwnCacheDirectory(this, "cpgame/Cache"); ImageLoaderConfiguration config = new ImageLoaderConfiguration .Builder(this) .memoryCacheExtraOptions(480, 800) // maxwidth, max height,即儲存的每個快取檔案的最大長寬 .threadPoolSize(3)//執行緒池內載入的數量 .threadPriority(Thread.NORM_PRIORITY -2) .denyCacheImageMultipleSizesInMemory() .memoryCache(new UsingFreqLimitedMemoryCache(2* 1024 * 1024)) // You can pass your own memory cache implementation/你可以通過自己的記憶體快取實現 .memoryCacheSize(2 * 1024 * 1024) .diskCacheSize(50 * 1024 * 1024) .diskCacheFileNameGenerator(new Md5FileNameGenerator())//將儲存的時候的URI名稱用MD5 加密 .tasksProcessingOrder(QueueProcessingType.LIFO) .diskCacheFileCount(100) //快取的檔案數量 .diskCache(new UnlimitedDiskCache(cacheDir))//自定義快取路徑 .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .imageDownloader(new BaseImageDownloader(this,5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超時時間 .writeDebugLogs() // Remove for releaseapp .build();//開始構建 ImageLoader.getInstance().init(config);
這裡需要設定memoryCache和diskCache的引數.
2.使用時需要設定顯示的配置
其中cacheInMemory(true) 和cacheOnDisk(true)必須設定,目的是載入網路圖片後進行快取.DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_stub) // resource or drawable .showImageForEmptyUri(R.drawable.ic_empty) // resource or drawable .showImageOnFail(R.drawable.ic_error) // resource or drawable .resetViewBeforeLoading(false) // default .delayBeforeLoading(1000) .cacheInMemory(true) .cacheOnDisk(true) .considerExifParams(false) // default .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default .bitmapConfig(Bitmap.Config.ARGB_8888) // default .displayer(new SimpleBitmapDisplayer()) // default .handler(new Handler()) // default .build(); ImageLoader.getInstance().displayImage(Configure.prefix+"/static/speedtest.png",iv,options);
3.清除快取.如果需要清除快取的話呼叫clearMemoryCache()和clearDiskCache()即可.
ImageLoader.getInstance().clearMemoryCache();
ImageLoader.getInstance().clearDiskCache();
相關推薦
Android載入圖片 Universal-Image-Loader圖片快取問題
開發中大部分情況下我們需要快取圖片,用imageLoader兩步實現載入網路圖片後,快取到記憶體以及sd卡.再次讀取該圖片時先從記憶體找,有則直接載入,沒有則從sd卡找,再沒有則讀網路,這樣實現了三級快取. 1.初始化配置,ImageLoader是單例模式,
Android中使用Universal-Image-Loader圖片快取
ImageLoader 是最早開源的 Android 圖片快取庫, 強大的快取機制, 早期被廣泛 Android 應用使用, 至今仍然有很多 Android 開發者在使用。 GitHub地址:
android--------Universal-Image-Loader圖片載入框架和結合LruCache快取圖片
本部落格包含包含Android-Universal-Image-Loader 網路圖片載入框架實現圖片載入和結合universal-image-loader與LruCache來自定義快取圖片,可以設定快取與不快取。 Android-Universal-Image-Load
Android 使用圖片異步載入框架Universal Image Loader的問題
loader mar fill splay con iss text blog option 使用的Jar包 問題: optionsm = new DisplayImageOptions.Builder() .displayer(new
Android 開源框架Universal-Image-Loader完全解析(二)--- 圖片快取策略詳解
本篇文章繼續為大家介紹Universal-Image-Loader這個開源的圖片載入框架,介紹的是圖片快取策略方面的,如果大家對這個開源框架的使用還不瞭解,大家可以看看我之前寫的一篇文章Android 開源框架Universal-Image-Loader完全解析(一)---
Android-Universal-Image-Loader 圖片非同步載入類庫的使用(超詳細配置)
這個圖片非同步載入並快取的類已經被很多開發者所使用,是最常用的幾個開源庫之一,主流的應用,隨便反編譯幾個火的專案,都可以見到它的身影。 可是有的人並不知道如何去使用這庫如何進行配置,網上查到的資訊對於剛接觸的人來說可能太少了,下面我就把我使用過程中
使用 Android-Universal-Image-Loader 圖片載入框架,載入圖片
特點 多執行緒下載圖片,圖片可以來源於網路,檔案系統,專案資料夾assets中以及drawable中等 支援隨意的配置ImageLoader,例如執行緒池,圖片下載器,記憶體快取策略,硬碟快取策略,圖片顯示選項以及其他的一些配置 支援圖片
Universal-Image-Loader圖片非同步載入類庫
這是 一個開源的Android關於下載顯示圖片的工具類,在這個下載包裡面jar檔案,用於我們匯入專案使用,具體使用方法在包裡面也含有。下面是一個例子: 雙擊程式碼複製 1 2 <uses-permissionandroid:name="android.pe
分析Android-Universal-Image-Loader的快取處理機制
最近看了UIL中的快取實現,才發現其實這個東西不難,沒有太多的程序排程,沒有各種記憶體讀取控制機制、沒有各種異常處理。反正UIL中不單程式碼寫的簡單,連處理都簡單。但是這個類庫這麼好用,又有這麼多人用,那麼非常有必要看看他是怎麼實現的。先了解UIL中快取流程的原理
Android 開源框架Universal-Image-Loader完全解析(一)--- 基本介紹及使用
大家好!差不多兩個來月沒有寫文章了,前段時間也是在忙換工作的事,準備筆試面試什麼的事情,現在新工作找好了,新工作自己也比較滿意,唯一遺憾的就是自己要去一個新的城市,新的環境新的開始,希望自己能儘快的適應新環境,現在在準備交接的事情,自己也有一些時間了,所以就繼續給大家分享And
Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android開源元件載入網路圖片的優缺點比較
關於 Fresco Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本地儲存和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級快取。 Fresco 是一個強大的圖片載入元件。 Fresco 中設計有一個叫做 image pipeline
Android Universal-Image-Loader,Volley,Picasso、Fresco和Glide五大Android開源元件載入網路圖片的優缺點比較
關於 Fresco Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本地儲存和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級快取。 Fresco 是一個強大的圖片載入元件。 Fresco 中設計有一個叫做 image pipeline
Android-Universal-Image-Loader 學習筆記(二)載入圖片原理
public void displayImage(String uri, ImageAware imageAware, DisplayImageOptions options, ImageLoadingListener listener, ImageLoadingProgressListener pro
Universal-Image-Loader(android圖片快取)
詳細資料整理請加群284568173自行下載pdf 專案介紹: Android上最讓人頭疼的莫過於從網路獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個專案或許能幫到你。Universal Image Loader for Android的目的是為了實現
universal-image-loader載入圖片,程式異常崩潰,圖片不在載入顯示問題
主要是發現universal-image-loader 用來在載入圖片的時候,如果程式異常崩潰了,那麼在自動重啟程式的時候,universal-image-loader會出現在快取讀取圖片的問題,解決方式為 new DisplayImageOptions.Builde
Android-Image-Loader 圖片非同步載入類庫的使用超(詳細配置)
這個圖片非同步載入並快取的類已經被很多開發者所使用,是最常用的幾個開源庫之一,主流的應用,隨便反編譯幾個火的專案,都可以見到它的身影。 可是有的人並不知道如何去使用這庫如何進行配置,網上查到的資訊對於剛接觸的人來說可能太少了,下面我就把我使用
Universal-Image-Loader的圖片載入流程原始碼分析
概述 Universal-Image-Loader是經典的圖片載入框架,雖然現在該專案不再維護,但對於初學者依舊是值得學習的開源專案之一,本文就該框架的載入圖片流程做簡要梳理,希望讀者有所收穫。 該文參考了【codeKK】 Android Universal
開源圖片載入庫universal-image-loader使用
ImageLoader | | - init(ImageLoaderConfiguration) | - isInited() | - displayImage(...) | - loadImage(...)
安卓圖片外掛Universal-Image-Loader解析
連結地址 https://www.cnblogs.com/tianzhijiexian/p/4034215.html http
開源項目Universal Image Loader for Android 說明文檔 (1) 簡單介紹
bst 成功 開源 ica ctu structure 使用 說明 由於 When developing applications for Android, one often facesthe problem of displa