Re: [問題] 為何requery()被標為deprecated了?
※ 引述《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
08/16 12:20, 1F
推
08/16 12:33, , 2F
08/16 12:33, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章