IOS編程 圖片緩衝模組設計

來源:互聯網
上載者:User

標籤:http   io   os   ar   strong   資料   sp   問題   c   

手機用戶端為什麼會留存下來?而不是被一味的Wap替代掉?因為手機用戶端有Wap無可替代的優勢,就是自身較強的計算能力。

手機中不可避免的一環:圖片緩衝,在軟體的整個運行過程中顯得尤為重要。

先簡單說一片緩衝的作用:

  1. 提高響應速度
  2. 減少網路流量
  3. 提高使用者體驗

提高響應速度:因為圖片一旦緩衝在本地之後,那麼本地IO資料的讀取,遠比網路中得IO讀取效率要高的多。所以可以提高響應速度

減少網路流量:一張圖片在某些情況下,只載入一次,之後便不會重新載入,減少了網路流量。減少流量肯定是必然的。介於國內的流量費用這麼貴,是肯定必要的

提高使用者體驗:這個體驗並不僅僅存在於相應速度上,還在一些斷網模式上。其實我想說的是。就算是我們的電腦硬碟丟了,我們軟體也應該茁壯的運行下去,更何況僅僅是斷網而已。

 

當然這樣也會帶來弊端:資料同步問題,如果網路中得資料更新了。那麼你再本地看到的資料永遠都是舊資料。其實我覺得這個問題是一個悖論。減少了網路流量,這種收益,遠遠大於那些舊資料的問題。當然了,特殊的軟體或者某些情況(Wifi)可能會需要資料及時重新整理。那麼就先載入本機資料。然後從網路中載入資料,替換快取資料就好了。這個與資料緩衝並不衝突。在特殊點,就分時間段到期就好了。比如說,下載一張圖片,一小時內有效。如果超過一小時,就認為失效了。雖然慢點,但是我依然看到了最新的資料。至於這些策略問題,要根據不同的情況做最合適的設計,在此不做贅述,如果你有興趣,我們也可以討論討論。

OK,迴歸正題。說一下我們的緩衝模組設計。簡單點說,就是把網路中得地址映射到本地目錄唄。簡單想想,把網路地址中得某些特殊欄位替換掉就OK了,比如說 “/”替換成 “_”就可以達到映射的目的了。或者直接直接分錄的情況下儲存到本地,就Ok了,但是這樣會帶來其他的不確定的問題(網路地址的長度,如果策略制定的不好,會不會出現緩衝錯亂的問題。短時間緩衝無法實現的問題等等)。我的做法是這樣的,將網路地址中得串連,直接跟本地的某一個唯一緩衝地址建立映射關係。並且連同建立時間儲存到資料庫中。這樣就可以做到上述的所有的緩衝效果了。

先放個思路上來,如果需要代碼的話。等之後再說。

 

更多.net開發資訊請關注近乎/Spacebuilder開發分享社區》》

IOS編程 圖片緩衝模組設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.