這篇文章中我們來繼續(xù)學(xué)習(xí)Picasso中還提供了哪些擴(kuò)展功能,一個(gè)好的框架一定是擴(kuò)展性強(qiáng)的,你需要的我剛好有。
下面看一下都提供了哪些擴(kuò)展功能呢?
Picasso內(nèi)部采用了建造者模式,所以我們只看Builder內(nèi)部類都提供了哪些方法即可
1 defaultBitmapConfig(Bitmap.Config bitmapConfig)
設(shè)置像素格式,Picasso的默認(rèn)格式為ARGB_8888,我們知道采用這個(gè)值一個(gè)像素占用4個(gè)字節(jié),可以使用RGB_565來替換,這樣可以節(jié)省一半的內(nèi)存開銷,當(dāng)然圖片質(zhì)量還是有一定損失的。
2 downloader(Downloader downloader)
自定義下載器,默認(rèn)OkHttp,具體的實(shí)現(xiàn)類是OkHttpDownloader
3 executor(ExecutorService executorService)
線程池,默認(rèn)的實(shí)現(xiàn)是PicassoExecutorService, 這里面會(huì)根據(jù)不同的網(wǎng)絡(luò)情況來設(shè)置核心線程和大線程數(shù),大為4,最小為1,默認(rèn)為3.
4 memoryCache(Cache memoryCache)
緩存策略,默認(rèn)實(shí)現(xiàn)為L(zhǎng)ruCache,LRU(最近最少未使用算法)目前在內(nèi)存緩存這塊使用的還是非常廣泛的。
5 listener(Listener listener)
圖片加載失敗的一個(gè)回調(diào)事件,回調(diào)方法為onImageLoadFailed(Picasso picasso, Uri uri, Exception exception)
6 requestTransformer(RequestTransformer transformer)
請(qǐng)求的轉(zhuǎn)換,在request被提交之前進(jìn)行轉(zhuǎn)換
7 addRequestHandler(RequestHandler requestHandler)
自定義加載圖片的來源,默認(rèn)為我們實(shí)現(xiàn)了7個(gè),分別如下:
ResourceRequestHandler
ContactsPhotoRequestHandler
MediaStoreRequestHandler
ContentStreamRequestHandler
AssetRequestHandler
FileRequestHandler
NetworkRequestHandler
以上方法的調(diào)用方式如下
Picasso picasso = new Picasso.Builder(this) .defaultBitmapConfig(Bitmap.Config.RGB_565) .downloader(downloader) .executor(executotService) .memoryCache(cache) .listener(new Picasso.Listener() { @Override public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { } }) .requestTransformer(new Picasso.RequestTransformer() { @Override public Request transformRequest(Request request) { return null; } }) .addRequestHandler(requestHandler) .build(); Picasso.setSingletonInstance(picasso); picasso.load(imageUrl).into(imageView);
分享題目:Android圖片加載利器之Picasso擴(kuò)展功能-創(chuàng)新互聯(lián)
瀏覽路徑:http://aaarwkj.com/article44/ccjghe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站排名、網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容