相簿磁碟快取分析

2021-07-11 16:34:15 字數 995 閱讀 8397

相簿磁碟快取主要是imgcache.0,imgcache.1,imgcache.idx三個檔案;其中imgcache.idx位索引檔案,其餘兩個位資料檔案(存放縮圖內容)。

索引檔案格式:

magic

max_entries

max_bytes

active_region

active_entries

active_bytes

version

checksum

thumb_key

thumb_offset

thumb_key

thumb_offset

… 綠色部分為索引檔案頭,每個位元組均為4個位元組,共32個位元組;黃色部分表示每個縮圖的可以和在資料檔案中的起始位置,thumb_key佔8個位元組,thumb_offset佔3個位元組,每表示乙個縮圖需要12個位元組。

資料檔案格式:

magic

keychecksum

offset

length

data(var—len)

keychecksum

offset

length

data(var—len)

… 灰色部分為檔案頭,僅佔四個位元組;藍色區域為資料的blob頭,key占用8個位元組,其餘佔4個位元組,共22個位元組;紅色區域為資料域,長度可變(blob的length指定),表示具體的縮圖資料。

blobcache載入流程:

縮圖插入流程:

縮圖查詢流程:

原始碼位置:

網易相簿列表分析

我是通過抓包和檔案呼叫跟蹤分析,來摸清網易相簿的列表方式的。值得注意的是,網易相簿的相片位址列表並不是由伺服器處理後再發過來的,而是通過指令碼控制,伺服器只是發個框架和一些控制指令碼過來 用 firefox 2.0 jsview 瀏覽茜茜的網易相簿 http photo.163.com photos...

Fresco磁碟快取

import android.content.context import android.graphics.bitmap import android.os.environment import android.util.log import com.facebook.cache.disk.dis...

磁碟快取專題之三 磁碟快取的演算法 寫演算法

雖然快取的最終目的為了提高效能,但快取寫的技術與快取讀的技術有很大的不同。但如果它帶來的資料丟失危險很大,那麼,就是乙個不可接受的方案。因此,安全地將資料儲存在非易失儲存中是很重要的,因為這樣資料就可以長期地儲存。雖然讀快取技術用於讀操作時可以提高系統效能,但當用於新產生資料的寫操作時,卻產生了一些...