資源文件更新邏輯設計

1 資源文件更新
1.1 規則:
1.1.1 資源文件存在於三個位置:app內、更新目錄內、更新服務器上。任何位置的資源文件,相對路徑保持一致。
1.1.2 本地保存根路徑:app-storage://
1.1.3 單個文件版本控制:不作。每次須要更新時清除更新目錄,從新下載所有可更新資源。
1.1.4 加載順序:更新目錄→app目錄→更新服務器(即便更新到本地失敗,該資源也應能夠直接從服務器讀到)
1.2 特殊文件:
1.2.1 config_base.ini:默認配置文件,包括基礎版本號(該app發行包的默認資源版本號)。此文件不作更新。
1.2.2 version.xml:記錄當前資源版本
1.2.3 config.ini:當前版本的配置文件,包括該版本資源文件列表
1.3 更新流程:
1.3.1 從服務器上更新version文件,對比本地的版本,確認是否須要更新
1.3.2 從服務器上更新config文件
1.3.3 解析config文件進行部分初始化
1.3.4 從config中讀取資源文件列表,並更新
1.3.5 若更新時,本地文件寫入失敗,繼續流程
 
2 緩存
2.1 規則:
2.1.1 緩存文件保存路徑:app-storage://cache/
2.1.2 緩存文件不保持完整路徑,文件路徑作如下轉換:
         imgDomain起始的url:將imgDomain去除,用剩餘的路徑作轉換
         其餘host的url:保存host和path部分(即目前寫死爲http,如有需求使用其餘協議再改),路徑按規則轉換
         轉換規則:將路徑中的"/"、"?"改成"~"
         例:http://math.zuoyebao.net/latex/png?tex=123,轉換後變爲:math.zuoyebao.net~latex~png~tex=123
2.2 緩存有效期控制:TODO
2.3 緩存移除策略:當緩存大小超過上限時,所有清除
相關文章
相關標籤/搜索