分享一個安卓中非同步擷取網狀圖片並自適應大小的第三方程式(來自github)

來源:互聯網
上載者:User

  用安卓手機,因為手機流量的限制,所以我們在做應用時,要盡量為使用者考慮,盡量少耗點使用者的流量,而在應用中網狀圖片的顯示無疑是消耗流量最大的,所以我們可以採取壓縮圖片或者將圖片進行緩衝,使圖片只需要擷取一次即可。

 = = = ==            Options op =             op.inSampleSize = 2= =  Rect(0, 0, 0, 0=            bitmap = 
    String CACHE_DIR = "/圖片在手機中的儲存路徑"     Map<String, SoftReference<Bitmap>>     List<Task>  isRunning =   LogoLoader(Context ctx.ctx =        caches =  HashMap<String, SoftReference<Bitmap>>=  ArrayList<LogoLoader.Task>        isRunning =       showImageAsyn(ImageView imageView, String url, = (bitmap ==         }             BitmapDrawable bd =                     SoftReference<Bitmap> rf =            Bitmap bitmap =             (bitmap ==                             Task task = == (!                                   ImageCallback getImageCallback(                       BitmapDrawable bd =  Handler handler =              Task task = Runnable runnable =                   (taskQueue.size() > 0                    Task task = taskQueue.remove(0                    && !=  File("/mnt/sdcard/jijie/imagecache/"                                + (file.exists() && file.length() > 100="/mnt/sdcard/jijie/imagecache/"                                                                +10 =10= 100                     (handler !=                         Message msg ==                 (      =  Write(String imageurl, == =  BufferedOutputStream(0  index = path.lastIndexOf("/" path.substring(index + 1  netSataus = = (cwjManager.getActiveNetworkInfo() != =

  經過上面的代碼雖然能夠實現了圖片的非同步擷取,自動緩衝讀取,圖片壓縮的功能,但是處理圖片使圖片適應控制項大小還是比較讓人頭疼的問題,還有就是如果一起擷取大量的網路的圖片,會佔用的非常多的記憶體,而且系統預設自由在介面銷毀的時候才會釋放,所以很容易遇到記憶體溢出的問題,下面向大家分享一個我在github上看到的一個處理網路的圖片的程式。

下面向大家展示一下:

以集街網(www.jijie.cc)中的一個圖片為例,原圖為:

 

  

   

  這分別是在不同大小的空間中顯示同一張圖片,能夠看出來,代碼只是將圖片進行了剪下處理,避免展開變形,程式非同步擷取和自動緩衝就不展示了,大家看代碼就行的了。

工程檔案(百度網盤):http://pan.baidu.com/s/1mguh2qc

github:https://github.com/yimengqingqiu/Android-Universal-Image-Loader

個人郵箱:standopen@foxmail.com(也可以發郵件給我索取)

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.