2017-07-03 91 views
0

儘管表只有15行,並且指定了只有3列的投影,但對組表的查詢仍需要大約5分鐘。查詢Android組表很慢

是否有某些原因可能會這麼慢?例如,當其他應用程序訪問此表時,Android是否阻止訪問此表格?有沒有更好的方式來獲取有關組的信息?

這裏是一個代碼部分,其需要向上5分鐘來執行的例子(注意,這裏我沒有將一個查詢或投影,但它是不慢於當我):

ContentResolver resolver = context.getContentResolver(); 
resolver.query(android.provider.ContactsContract.Groups.CONTENT_URI, 
       null, 
       null, 
       null, 
       null); 
+0

我還沒有看到一個羣體查詢這麼慢,它應該少於一秒。嘗試選擇'Groups.DELETED +「= 0 AND」+ Groups.GROUP_VISIBLE +「= 1」',看看它是否有幫助。 – marmor

+0

你如何計算查詢的時間?你是否在等待結果顯示在屏幕上,或者你在測量日誌?我建議在查詢行之前和之後添加日誌消息,並查看時間戳中的差異 – marmor

+0

我已經通過查看前後日誌的時間戳來測量時間。我嘗試了更窄的選擇 - 選擇「Groups.ACCOUNT_TYPE」和「Groups.ACCOUNT_NAME」的特定值 - 但這同樣緩慢。 – UtterlyConfused

回答

0

(打開評論到一個合適的回答)在我們的生產應用報告〜10-20ms的時間

類似查詢。 也許你有一個腐敗Groups表。

我建議嘗試不同的設備,最好使用不同的聯繫人帳戶。