[問題] 單向綁定不斷新增資料導致app卡頓
各位版友好,
最近在開發一支工具要對設備周邊的host進行傳輸,並將收到的結果印在設備上,
一開始在xml裡將TextView單向綁定到ObservableField<String> message,要增加印出的
訊息處理如下,
message.set(message.get()+newMessage);
從傳輸到增加資料到message過程都寫在另一個Thread處理,
但執行次數一多,會看到log訊息提示在main thread做太多事情,且app開始卡頓,
後來直接透過Handler,透過binding.layoutId.TextViewId找到目標TextView並用append
函式將訊息印出,不會有先前卡頓的問題...
請問為什麼會有這樣的差別呢?如果要用原先message.set(message.get()+newMessage);
的方式,該怎麼處理才可以避免app卡頓呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.130.16 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1621926908.A.ACB.html
※ 編輯: Dong0129 (42.73.130.16 臺灣), 05/25/2021 15:15:53
※ 編輯: Dong0129 (42.73.130.16 臺灣), 05/25/2021 15:16:24
→
05/25 15:19,
3年前
, 1F
05/25 15:19, 1F
→
05/25 15:21,
3年前
, 2F
05/25 15:21, 2F
→
05/25 15:22,
3年前
, 3F
05/25 15:22, 3F
推
05/25 23:30,
3年前
, 4F
05/25 23:30, 4F
→
05/25 23:30,
3年前
, 5F
05/25 23:30, 5F
→
05/25 23:31,
3年前
, 6F
05/25 23:31, 6F
→
05/25 23:46,
3年前
, 7F
05/25 23:46, 7F
推
05/27 20:05,
3年前
, 8F
05/27 20:05, 8F
→
05/27 20:05,
3年前
, 9F
05/27 20:05, 9F
→
05/27 20:05,
3年前
, 10F
05/27 20:05, 10F
→
05/27 20:05,
3年前
, 11F
05/27 20:05, 11F
→
05/27 20:05,
3年前
, 12F
05/27 20:05, 12F
→
05/27 20:05,
3年前
, 13F
05/27 20:05, 13F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章