Android圖片緩衝

來源:互聯網
上載者:User

標籤:

Android基於universal-image-loader-1.9.4.jar的圖片緩衝。
jar包可以去網上下載,其中封裝了網路擷取圖片及在手機開闢快取區域的方法,只需要做如下配置操作就可以使用。
它的作用方式是這樣的,如果手機串連網路,那麼該組件會從網路擷取圖片並將圖片寫入緩衝,如果沒有串連網路,那麼會從快取區域擷取已經載入的圖片並顯示出來。

一下是具體的配置和使用方式:

1:添加jar包,並添加依賴。

2:配置universal-image-loader,代碼:

import com.inext.test.volleytest.R;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.ImageScaleType;import com.nostra13.universalimageloader.core.download.BaseImageDownloader;/** * Created by Administrator on 2016/5/6. */public class ImgLoaderUtil {    private static DisplayImageOptions options =            new DisplayImageOptions.Builder()                    //下載時顯示的圖片            .showImageOnLoading(R.mipmap.ic_launcher)                    //下載錯誤時顯示的圖片            .showImageOnFail(R.mipmap.ic_launcher)                    //下載為空白時顯示的圖片            .showImageForEmptyUri(R.mipmap.ic_launcher)                    //儲存和硬碟            .cacheInMemory(true)            .cacheOnDisk(true)            .bitmapConfig(Bitmap.Config.ARGB_8888)                    //縮放類型            .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)            //複位            .resetViewBeforeLoading(true)            .build();    public static void display(String url,ImageView imageView){        //此ImageLoader不是volley下的        ImageLoader.getInstance().displayImage(url,imageView,options);    }public static void clear(){    ImageLoader.getInstance().clearDiskCache();    ImageLoader.getInstance().clearMemoryCache();}    public static void imageLoader(Context context){        ImageLoaderConfiguration configuration =                new ImageLoaderConfiguration.Builder(context)                .denyCacheImageMultipleSizesInMemory()                        //線程池推薦大小為3                .threadPoolSize(3)                        //線程優先順序                .threadPriority(Thread.NORM_PRIORITY)                        //記憶體緩衝大小                .memoryCacheSize((int) (Runtime.getRuntime().maxMemory()/8))                        //硬碟緩衝大小                .diskCacheSize(50*1024*1024)                        //加密方式                .diskCacheFileNameGenerator(new Md5FileNameGenerator())                        //預設設定                .defaultDisplayImageOptions(DisplayImageOptions.createSimple())                .imageDownloader(new BaseImageDownloader(context,50000,50000))                        //無限制緩衝                .diskCache(new UnlimitedDiskCache(FileUitlity.getInstance(context).makeDir("imgCache")))                .build();        ImageLoader.getInstance().init(configuration);    }}

3:調用:

//初始化ImgLoaderUtil.imageLoader(context);//傳入圖片地址和要顯示的imageview,系統會自動處理網路與緩衝並載入顯示圖片ImgLoaderUtil.display(url, img);

Android圖片緩衝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.