小编Gab*_*ira的帖子

获取android联系人详细信息非常慢

我的应用程序有一个由设备上注册的联系人填充的 listView,但是当我加载 listView 时,它花费的时间太长了!这是我的代码:

public List<Contact> getContactsList(Context context, ContentResolver contentResolver) {

    List<Contact> listContatos = new ArrayList<Contact>();
    Uri uri = ContactsContract.Contacts.CONTENT_URI;

    Cursor cursorContacts = contentResolver.query(uri, null, null, null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE NOCASE ASC;");
    try {
        // while there is a next contact, retrieves your data
        while (cursorContacts.moveToNext()) {

            Contact c = getContact(context, cursorContacts);

            if (c != null) {
                listContatos.add(c);
            }
        }
    } finally {

        // Closes Cursor
        cursorContacts.close();
    }
    return listContatos;
}





public Contact getContact(Context context, Cursor contactsCur) {

    Contact …
Run Code Online (Sandbox Code Playgroud)

performance sdk android contactscontract android-contacts

6
推荐指数
2
解决办法
9494
查看次数