我有个疑问,我用过市场上的通讯录软件.基本上.他们加载几百个联系人.都是一下子完成.
但是我查询全部联系人.加载大概300个.却需要5S左右的时间..为什么...有大神求解么...

解决方案 »

  1.   

    SDK文件夹里的sample文件夹里面有个例子:ContactManager.没有找到可以自己用下载器下载
    private Cursor getContacts()
        {
            // Run query
            Uri uri = ContactsContract.Contacts.CONTENT_URI;
            String[] projection = new String[] {
                    ContactsContract.Contacts._ID,
                    ContactsContract.Contacts.DISPLAY_NAME
            };
            String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
                    (mShowInvisible ? "0" : "1") + "'";
            String[] selectionArgs = null;
            String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";        return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
        }
    不过这里并没有查号码列,在projection加上:
    String[] projection = new String[] {
                    ContactsContract.Contacts._ID,
                    ContactsContract.CommonDataKinds.Phone.NUMBER,
                    ContactsContract.Contacts.DISPLAY_NAME
            };