前言:看過很多精彩的文章,作者寫的非常好,但總覺得文字描述沒有圖片或圖表說明來得直觀,因為圖片可以化抽象為具體。語言是有區域性的,而圖片則是全世界通用的,即使語言不通,卻能通過圖片瞭解一切。因此想做一個系列的簡博客,內容就是一張圖附帶一些必要的說明,這樣就能迅速抓住重點,而不需要做太多的閱讀,便能瞭解框架性的東西。文章所涉及到的圖片有的可能來自官方網站,有的來自名傢博客,或者是自己繪制的,都會一一說明。
切入正題,先來第一發,上圖:
簡要說明:
1.圖片緩存分為內存緩存和磁盤緩存兩部分。
2.顯示圖片時,先從內存緩存讀起,如果在內存緩存找到瞭,則直接顯示圖片。
3.如果內存緩存沒有,則在磁盤緩存查找,如果找到,則將其編碼為Bitmap,然後對圖片進行預處理,將其緩存到內存,最後顯示圖片。
4.如果內存緩存和磁盤緩存都沒有找到圖片,則去下載圖片,下載完之後緩存到磁盤,然後將其編碼為Bitmap,對圖片進行預處理,再將其緩存到內存,最後顯示圖片。
Android圖片緩存框架有很多,原理都大同小異,基本都是上述邏輯,大傢可以舉一反三,或者按上述流程寫自己的圖片緩存框架。