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的強軟弱虛。

  每天進步一點點~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM