Facebook推出強大Android圖片庫Fresco 自動釋放記憶體 圖片緩衝 記憶體益處

來源:互聯網
上載者:User

標籤:android   文檔   圖片   facebook   緩衝   

自動釋放記憶體!Facebook推出強大Android圖片庫Fresco

快速而又高效的顯示圖片對Android裝置來說是件極其重要的事情,但在過去的幾年裡,在有效儲存映像方面我們面臨了很多問題。圖片太大,而手機又只有很小的記憶體,特別是Android裝置還要將記憶體分割給各個應用。所以,太多的圖片總會耗去大部分的記憶體,從而導致應用的崩潰。

為瞭解決這一問題,Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本機存放區和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級緩衝。此外,Fresco在顯示方面是用了Drawees,可以顯示預留位置,直到圖片載入完成。而當圖片從螢幕上消失時,會自動釋放圖片所佔的記憶體。Fresco支援Android 2.3及以上版本,目前已託管至Github上。



主要特性:

  • 記憶體

解壓後的圖片和Android的位元影像都會佔據很大的記憶體,這導致Java 垃圾收集器更頻繁的運行,也讓應用變得更加緩慢,這一問題在沒有對垃圾收集器進行完善的Android 5.0上尤為嚴重。

在Android 4.x及以下版本,Fresco將圖片放置在Android記憶體的一個特殊位置。這可以確保當映像不在螢幕上顯示時,可以自動釋放它們所佔的記憶體。讓應用啟動並執行更快速,且不易崩潰。

使用Fresco的應用,即使在配置低端的裝置上也能正常運行,而且你無需經常性地去擔心圖片的記憶體佔用情況。

  • Streaming

Web上的漸進式(Progressive)JPEG圖片已經存在多年,開啟檔案過程中,會先顯示整個圖片的模糊輪廓,隨著掃描次數的增加,圖片變得越來越清晰。這種格式可以說是網路較慢情況下的救星,通過圖片的輪廓知道正在載入的圖片大概是什麼。

Android自己的圖片庫不支援streaming,而Fresco可以,只需指定一個URI,你的應用程式就可以隨著資料的到來,自動更新它的顯示。

  • 動畫

動畫GIF和WebP應該是應用的痛點,每一幀都是一個大型的位元影像,而每個動畫都是一系列的幀。Fresco則負責載入和處理這些幀及管理它們的記憶體。

  • Drawing

Fresco在顯示方面使用了Drawees,Fresco的Drawees能夠顯示預留位置,直到圖片已載入,並自動顯示到映像到達時:

  • 將圖片擴充至自訂的焦點,而不是作為處理的中心。
  • 使用圓角化或圓形來顯示映像。
  • 如果網路載入失敗的話,使用者可以點擊預留位置重新載入映像。
  • 顯示自訂背景、浮窗小組件(overlays)或映像上的進度條。
  • 當使用者點擊圖片,自訂浮窗小組件。
  • 載入

Fresco的映像管道可以讓你以多種方法來自訂載入:

  • 為一個映像指定不同的URI,從中選取一個已經緩衝的顯示。
  • 優先顯示低解析度映像,待資料到達後交換到高的解析度。
  • 如果映像有EXIF縮圖,首先顯示縮圖,直到整個圖片被載入出來(只針對本地圖片)。
  • 調整或旋轉映像。
  • 即使是在老版的Android上也可以解碼WebP映像,只不過不是全部支援。
github:     https://github.com/facebook/fresco

api: http://fresco-cn.org/

Facebook推出強大Android圖片庫Fresco 自動釋放記憶體 圖片緩衝 記憶體益處

聯繫我們

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