我有一项显示所有设备联系人的活动。此活动的性能较差,因为它始终在uid username name location version
1 abc abc abcdd O
3 ddd ddd dddd 823
thing
thingid username version
1 abc O
2 abc O
3 ddd 823
1 ddd 823
thingfile
thingid code version
1 ee O
2 eed O
3 fff 823
方法上获取联系人。我真的不知道如何解决这个问题。
注意:我需要知道新的联系人已添加到设备或联系人已注册到我的服务总是有更新的联系人列表(已注册到我的服务的联系人)
你能帮我解决这个问题吗?感谢。
答案 0 :(得分:1)
首先发布用于加载联系人的代码。
可以从onCreate()
加载联系人,但请确保您使用的是Loader。从onCreate()
或任何其他生命周期方法或UI线程中的任何其他位置执行同步查询将影响UI并可能导致ANR。
要听取更改,请使用:
getApplicationContext().getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true, contentobserver);