Re: [問題] 為何requery()被標為deprecated了?

看板AndroidDev作者 (littledot)時間13年前 (2011/08/16 11:22), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《GGGGGforever (五雞大俠)》之銘言: : 今天上網想複習一下Cursor的requery()方法 : 沒想到requery()已經被標為deprecated了@@" : API: : http://developer.android.com/reference/android/database/Cursor.html#requery() : requery()當初可是Cursor與ListView並用時很多人推薦使用的超方便方法呀 : 不過他deprecated的原因小弟看不大懂 : 請問有熟知SQLite的朋友能說明一下的嗎? 1.因為requery不會檢查這個cursor是否closed, 還是deactivated 如果是closed, requery就會跳出exception然後FC 只有deactivated, requery才會成功 這對於用Activity.startManagingCursor來說是一大困擾 2.因為requery會在UI thread被呼叫 如果你的資料量龐大, 時間過久就會ANR 為了避免ANR, 另開一個thread, 再用handler來更新UI -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.198.88 ※ 編輯: runescape1 來自: 218.166.198.88 (08/16 11:50)

08/16 12:20, , 1F
ANR是什麼
08/16 12:20, 1F

08/16 12:33, , 2F
Action not respond 避免程式hang太久
08/16 12:33, 2F
文章代碼(AID): #1EIUAGp_ (AndroidDev)
文章代碼(AID): #1EIUAGp_ (AndroidDev)