[問題] Too much work on its main thread

看板AndroidDev作者 (阿東)時間6年前 (2018/02/02 09:54), 6年前編輯推噓2(205)
留言7則, 5人參與, 6年前最新討論串1/1
各位版友好, 我在做快2000個byte的xor時一直會跳出這個訊息,「skipped xxx frames!The applicat ion may be doing too much work on its main thread」 然後從設備的log查看發現是xor算錯(沒計算完或跳過很多筆資料), 請問有什麼方式可以解決呢? 有試過開另一個thread如下也沒用... new Thread(new Runnable) { @override public void run() { for(int i=0;i<bytes.length-1;i++) { lrc^=bytes[i]; } } }.start() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.194.149 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1517536454.A.791.html ※ 編輯: Dong0129 (114.137.194.149), 02/02/2018 10:13:44

02/02 12:46, 6年前 , 1F
我比較好奇的是為什麼妳++的I是大寫的
02/02 12:46, 1F
手機自動選字...

02/02 13:02, 6年前 , 2F
如果還有一樣的error應該是有其他的task卡住ui thread
02/02 13:02, 2F
※ 編輯: Dong0129 (114.137.194.149), 02/02/2018 13:51:38

02/02 22:11, 6年前 , 3F
不 你一定有做了甚麼虧心事才會有這個...
02/02 22:11, 3F

02/02 22:12, 6年前 , 4F
看你的問題應該是屬於新手 建議畫面沒有明顯卡頓的話先放著
02/02 22:12, 4F

02/02 22:13, 6年前 , 5F
以後了解MainThread在幹嘛後再回頭來檢視
02/02 22:13, 5F
沒做什麼虧心事啊...只是想算一長串資料的lrc而已啊...

02/03 09:48, 6年前 , 6F
純好奇 i < bytes.length - 1 是故意不 XOR 最後一個嗎?
02/03 09:48, 6F
是的 ※ 編輯: Dong0129 (42.73.117.3), 02/05/2018 09:51:32

06/01 16:18, 6年前 , 7F
開一個thread去處理耗時的運算
06/01 16:18, 7F
文章代碼(AID): #1QSyJ6UH (AndroidDev)
文章代碼(AID): #1QSyJ6UH (AndroidDev)