1.最簡單的模式:
設計:
1.將頁碼值傳給伺服器,讓伺服器返回對應的頁碼資料
2.資料緩衝:只緩衝第一頁資料。
好處:
1.實現簡單、無腦
壞處:
1.浪費流量,如果使用者一直在等某個人發送訊息的話。那麼使用者肯定會狂重新整理。這個時候,我們重複載入了第一頁。那麼這種設計肯定是不合適的。因為他載入了很多無用的資料。
適用情境:儘快的完成項目,做Demo給客戶看的時候可以使用這種模式。
2.最無聊的設計:
設計:
1.重新整理時:將使用者的最後一條資料的id或者產生時間發送給伺服器。然後讓伺服器返回給我們之後的資料。
2.載入下一頁:將使用者顯示頁面中的最後一條資料傳遞給伺服器,然後讓伺服器將對應的列表中包含的值得資料的id和標示值(可以是時間)發送給我們,我們挨條資料跟本地比對,把沒有的或者標示不同的的id列表發送給伺服器,然後伺服器將我們請求的id的資料發送給我們。
3.資料緩衝:儘可能的緩衝所有資料
好處:
1.節省流量,無論是當使用者一直在重新整理、還是查看已經看過的下一頁資料。都可以將資料正確的返回給使用者。
壞處:
1.冗餘設計,只看這個邏輯就知道,代碼量一定會很大。
2.增加伺服器壓力,中間伺服器根據使用者資訊判斷的時候肯定會增加伺服器的壓力。也是肯定會的。如果使用者數不是很大的時候。我們可以考慮一下。
3.浪費手機儲存空間,中間我們肯定會對使用者的資料進行一定的緩衝,這個緩衝可能是有效也可能是無效的。視情況而定。
適用情境:適用人數不多,並且資料經常被查看的情況下。可以有效節省流量。
3.折中的設計:
設計:
1.重新整理時:將使用者的最後一條資料的id或者產生時間發送給伺服器。然後讓伺服器返回給我們之後的資料。
2.載入下一頁的時候,我們將對應的頁碼傳遞給伺服器去請求對應的資料。
3.只緩衝第一頁資料。
好處:
1.實現比較簡單
2.不會浪費太多的流量,針對於第一頁資料進行資料最佳化(這個假設是比較關心最新的資料。像是SNS一樣。昨天你看到你的朋友發的一條資訊,你還有興趣看第二遍嗎?)
3.載入之前的頁面的時候,直接去請求資料。不多多餘的緩衝,節省手機用戶端資源。
壞處:
1.如果使用者經常去翻之前的資料,那麼可能會比較浪費流量。
適用情境:SNS社交一類的,看完第一遍的資料一般不會查看第二遍的情況。
即使是優秀的設計業不能應對與所有的情況,根據不同的情況制定不同的對策可以製作出優秀的軟體。
更多相關文章http://c.jinhusns.com