問一下大佬 Android socket訊息推送頻繁 造成頁面卡頓 是因為UI頻繁渲染還是什么?怎么解決呢? 急急急~~~
uj5u.com熱心網友回復:
將頻繁操作的動作放在執行緒中處理uj5u.com熱心網友回復:
那是因為頻繁推送還是 頻繁渲染呢uj5u.com熱心網友回復:
頻繁渲染是多頻繁?依我看,大概率是你在主執行緒里面渲染了頁面導致的卡頓吧。
檢查下代碼或者貼下代碼,一起分析下
uj5u.com熱心網友回復:
頻繁推送是沒有問題的是吧,問題出在渲染資料上面了嗎uj5u.com熱心網友回復:
就是類似一秒推送幾百個,就是在這個房間內每個人點擊都會推送到這個房間的每個人手機,主要是需要做到實時uj5u.com熱心網友回復:
頻繁的耗時的操作放到子執行緒里去uj5u.com熱心網友回復:
是不是每次推送都會更新頁面的資料呀,頁面更新太頻繁的話就會造成卡頓,適當降低重繪頻率或者加個鎖
uj5u.com熱心網友回復:
socket訊息推送,這個不應該在ui執行緒處理訊息,建議使用子執行緒處理uj5u.com熱心網友回復:
socket訊息推送,這個不應該在ui執行緒處理訊息,建議使用子執行緒處理
uj5u.com熱心網友回復:
子執行緒推送+接收 這不會卡呀~UI資料重繪,次數多了,就卡了呀。
如果是通知的話,這不該卡
如果是頁面的話,串列卡了?
uj5u.com熱心網友回復:
子執行緒推送+接收 這不會卡呀~
UI資料重繪,次數多了,就卡了呀。
如果是通知的話,這不該卡
如果是頁面的話,串列卡了?
uj5u.com熱心網友回復:
你好,那如何UI串列卡了,怎么解決
子執行緒推送+接收 這不會卡呀~
UI資料重繪,次數多了,就卡了呀。
如果是通知的話,這不該卡
如果是頁面的話,串列卡了?
那就是重繪太快
1、你加一個布林值作為開關,或者加鎖
2、做一個延時處理,1s內或者0.5s內沒訊息就回傳給UI,有的話,就組裝成一個list(就是來一個訊息,等0.5-1s--最后的重繪時間就是,推送后的接收時間1-2s,等待時間1.5-3s,差不多實時了吧,甚至更短)
3、讓串列主動獲取資料,不要被動(監聽到資料變化就自動重繪)
串列再重繪
uj5u.com熱心網友回復:
你好,那如何UI串列卡了,怎么解決
子執行緒推送+接收 這不會卡呀~
UI資料重繪,次數多了,就卡了呀。
如果是通知的話,這不該卡
如果是頁面的話,串列卡了?
那就是重繪太快
1、你加一個布林值作為開關,或者加鎖
2、做一個延時處理,1s內或者0.5s內沒訊息就回傳給UI,有的話,就組裝成一個list(就是來一個訊息,等0.5-1s--最后的重繪時間就是,推送后的接收時間1-2s,等待時間1.5-3s,差不多實時了吧,甚至更短)
3、讓串列主動獲取資料,不要被動(監聽到資料變化就自動重繪)
串列再重繪
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/98578.html
標籤:Android
上一篇:抖音場控軟體咋樣開發呢
