国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

三方網絡框架的緩存策略

2019-11-09 18:52:47
字體:
來源:轉載
供稿:網友
Android中網絡框架和圖片加載框架的選擇(參考了“這么多開源框架,該用哪個好”:http://www.jianshu.com/p/f3227c7008d4)本文不會在每個三方框架的基礎上展開每個框架的詳細使用方法,而是根據最近我遇到的問題從問題的角度出發總結比如網絡框架的選擇,我因為緩存的問題研究各個框架的優缺點,從而下面從緩存的角度來比較各個框架的異同:一,比較市面上幾種三方網絡框架的緩存策略1概述1.1在項目中用到緩存目的:1.1.1.為了有網的時候提供更好更快的用戶體驗;1.1.2.在沒有網的時候保證app仍然能用;1.2緩存分類:1.2.1 sqlite,file,內存緩存等。1.2.2 當然又可以分為自己進行的緩存和網絡框架自帶的緩存(這里根據需求來分的);小說等就要加載到本地來看用sqlite加file多。我們做的廣播類的也是這種情況,再比如音樂播放器也是這種情況(其實兩者屬于一類);普通的應用大多只是為了提高加載的速度,提高應用的用戶體驗,比如:QQ空間和微信的朋友圈,微信。這里我感覺使用的封裝在網絡加載工具中和圖片,視頻加載工具中的緩存(磁盤+內存)。2.幾種三方網絡記載工具的比較2.1.Retrofit沒有緩存,但是可以通過Retrofit+OkHttp實現(OkHttp是有緩存策略的,參見http://blog.csdn.net/jabony/article/details/52814022)Retrofit+OkHttp的緩存機制:在響應請求之后在 data/data/<包名>/cache 下建立一個response 文件夾,保持緩存數據。這樣我們就可以在請求的時候,如果判斷到沒有網絡,自動讀取緩存的數據。同樣這也可以實現,在我們沒有網絡的情況下,重新打開App可以瀏覽的之前顯示過的內容。也就是:判斷網絡,有網絡,則從網絡獲取,并保存到緩存中,無網絡,則從緩存中獲取。同時上面的緩存策略也是目前最流行的比如qq和微信的朋友圈都是(在我們沒有網絡的情況下,重新打開App可以瀏覽的之前顯示過的內容)2.2.xutils中可以設置緩存參見(http://blog.csdn.net/smartbetter/article/details/51866792)2.3.Volley中可以緩存圖片也可以緩存json數據,但是平時很少使用她來來做圖片的加載因為其不適合大文件的下載和上傳,原因:volley里網絡通信時android2.3以上用的HttpUrlConnection,2.3以下用的HttpClient,HttpUrlConnection默認傳輸數據是將數據全部寫到內存中再發送到服務端,Volley就是采用默認的方式,這樣在上傳大文件時很容易就oom;有一種解決辦法是設置每次傳輸流的大小,想要改造volley使其支持大文件上傳下載參考比較不錯的文章http://blog.csdn.net/s569646547/article/details/48346969;還有其內部在數據為json數據時候默認將緩存功能去掉,其實默認啟動了緩存策略但是緩存的時間默認為0所以還是沒有緩存,想要緩存json數據需要我們自己來實現也就是要去修改volley的源碼或者自己多封裝一層在其基礎上;參見:http://blog.csdn.net/linmiansheng/article/details/23023573)volley介紹的很好的文章:http://blog.csdn.net/jxxfzgy/article/details/440882992.4.自己對okhttp的封裝(參照了鴻神的),OkHttp是有緩存策略的,所以自己可以封裝okhttp來達到使用的目的
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰安市| 定西市| 乳源| 兴文县| 彭山县| 汪清县| 湟中县| 阿克苏市| 龙南县| 德江县| 华阴市| 孟连| 城步| 通州区| 大兴区| 扶沟县| 临夏市| 咸丰县| 来安县| 香河县| 会理县| 三门县| 蒙自县| 囊谦县| 磐安县| 茶陵县| 台前县| 资源县| 麻栗坡县| 海晏县| 普宁市| 隆安县| 土默特左旗| 东乌珠穆沁旗| 舞钢市| 康乐县| 肃北| 佛学| 皋兰县| 花莲县| 绥中县|