Android acache讀後感

  今天瞭解到了一個android輕量級的開源緩存框架,(github:https://github.com/yangfuhai/ASimpleCache),花了一點時間研究了一下源代碼,大概的思路就是每一個緩存目錄對應一個Acache類,經過mInstanceMap關聯(我的以爲這個主要是減小對象的建立吧,源碼上用的hashmap,不過我感受能夠用weakmap), 這個框架能夠設定緩存的時間,其實就是每一個緩存對應一個文件,緩存文件的格式爲 「寫入內容時的時間-設置的緩存時間(mSeparator)緩存內容」, mSeparator爲定義的分割符,每次讀緩存的時候會解析這個格式,從而得到緩存存入的時間和設定的有效期限,若是讀緩存時的系統時間>寫入緩存時的時間+緩存設置的時間,那麼就認爲緩存過時,刪除這個緩存文件,而後返回null,反之則返回具體內容, 這個框架封裝的蠻好的,不過有個地方比較坑,就是acache.getAsString()方法,裏面的實現用的FileReader和bufferedReader,致使字符串的換行符沒有了,而且當字符串不少時這段代碼的效率很低,我測試了9000行的緩存,結果讀了超過7秒,後來我把這改爲了FileInputStream的方式,結果效率明顯提升了0.0..,不過這些都是小問題,Acache裏面提供了不少方法,能夠緩存bitmap, object, 等等, 框架介紹是線程安全的,可是我沒有看明白爲什麼(大概我還遠遠不過吧)?java

   總之今天看這個開源框架收穫蠻多的,做者寫代碼的方式思路給我提供了一些靈感,在這向全部具備開源精神的人表示感謝!今天還順便複習了一下java的強軟弱虛。android

  天天進步一點點~git

相關文章
相關標籤/搜索