「今日頭條」的列表是怎麼做到每次下拉都有6條刷新的?
01-14
「今日頭條」的新聞列表,每次下拉的時候都會有6條新聞刷新出來,這個是什麼機制呢?
這些新聞是存在一個熱帖庫里的么?有時間上的限制么?比如我曾經錯過的新聞是否會重新顯示?
這裡應該要提到一個timeline的問題
後台中所有的新聞都是以時間線進行累加進行的。假設每次請求獲取8條數據。
如上圖:
第一次刷新的時間點,進行發送請求至伺服器,獲得數據0 第二次刷新伺服器給出,發送當前列表中的數據6條命 第三次刷新,間隔較長請求並發送8條數據。 第四次刷新,發送請求並獲得8條命數據。這裡是最簡單的獲得數據的邏輯!
那麼這裡的模型中會出現如上幾個問題!
1,當我發送的請求不足的時候如何處理。2,當我發送後獲得的數據輸小於我設定的數據數的問題3,當我發送的請求獲得新數據和歷史數據重複的問題。--------------------------
Adnriod 和iOS 內存會記錄相關信息然後進行去重處理。達到如上的目的....設備:有數據沒伺服器:有設備:來8條
伺服器:咱這裡只有6個。設備:行5秒後設備:「它」要我問你有數據沒伺服器:沒有啊設備:哦半小時後設備:來一發!伺服器:剛剛好有6個設備:行40分鐘後設備:「它」還要伺服器:給你最新的設備:行。設備(自言自語):次奧,裡面居然有5個給過的。管它的覆蓋了。這是今日頭條應用智能推薦分發系統。今日頭條會根據用戶的閱讀習慣和閱讀興趣,為用戶智能推薦相關的內容。
推薦閱讀:
※在高速公路上30分鐘內看到一輛車開過的概率是0.95,那麼在10分鐘內看到一輛車開過的概率是多少?
※到底什麼是 Use Case?
※axure默認字體怎麼設置啊?
※如果你要招產品經理會招像尹廣磊這類的嗎?
※如何定義需求的優先順序?