婚戀app原始碼開發,相親直播間聊天訊息列表卡頓優化

雲豹科技程式設計師發表於2021-12-03

大體的思路:

  • 把cell中的子控制元件佈局改成frame的相對佈局,禁止婚戀app原始碼採用自動佈局或者約束;
  • 在婚戀app原始碼接收到IM下發的訊息時,提前計算好當前資料所需要的佈局樣式,內容需要佔多寬多高、使用者暱稱的顏色、內容的字型樣式、對應cell需要的高度,等等相關的屬性值都提前計算好,並快取起來;
  • 在有新資料新增到表格中,採用insert方式,不要採用reload;
  • 資料不是下發一條就新增一條道表格中,而是採用定時器,定時1秒去處理;
  • 婚戀app原始碼採用兩個快取池,一個是用於維護表格當前資料所儲存的池,暫時叫B池;另一個用於接收處理好的IM資料快取池,暫時叫A池;
  • 表格資料快取B池容量確定為300條資料,當資料到達300條時,清空150條;也就是說快取池中最少150條,最多300條(數量可以自己定,最多不要超過500條);

定時器

作用是:每隔一秒去婚戀app原始碼的 A快取池 中取資料放到 B快取池;
如果A快取池中沒有資料則把自己(定時器)休眠;
當把A快取池中的資料複製到B快取池中,清空A快取池資料。

A快取池

當婚戀app原始碼有新IM資料過來時,把處理好的資料存入到A快取池中。
判斷定時器是否在運作,如果不在運作則喚醒定時器,如果在運作則直接返回;

B快取池

監聽婚戀app原始碼B快取池中的資料的變化;
判斷加入新資料後,快取池的資料總數是否會超過最多資料量;
如果會超過,則刪除指定數量的歷史資料;
把對應新增的資料插入到表格對應的位置;

本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
原文連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2845681/,如需轉載,請註明出處,否則將追究法律責任。

相關文章