聯絡人去重的寫法優化

2021-06-21 04:45:25 字數 720 閱讀 8399

最近測試反應了乙個問題,就是載入聯絡人的速度過慢。

汗~這個不能叫演算法,應該叫寫法。。。簡單的迴圈遍歷. 

private void removeduplicatesamcontacts(arraylistcontact_list) }}

for (samcontact c : removelist)

}

時間提高了5000-10000倍:

v/533     ( 9490): set total time -->  11

v/533     ( 9490): set total time -->  6

v/533     ( 9681): set total time -->  11

v/533     ( 9681): set total time -->  6

利用hashset的特性去重

private void removeduplicatesamcontacts(arraylistcontact_list)

重寫samcontac的equals和hascode方法

@override

public boolean equals(object obj) else

}@override

public int hashcode()

訪問通訊錄中的聯絡人和新增聯絡人

1.在 androidmanifest.xml 中獲取通訊錄的讀寫功能 2.由於本 寫的是測試 因此也要在 androidmanifest.xml中加入測試啟動功能 3.獲取聯絡人資訊的函式constact public void constact throws exception phones.c...

聯絡人的獲取 ContentProvider

contentprovider 1 contentprovider為儲存和讀取資料提供統一的介面 2 使用contentprovider,應用程式可以實現資料共享 uri universal resource identifier e.g 聯絡人uri 為content contacts peopl...

顯示聯絡人的頭像

顯示聯絡人頭像。判斷phone.photo id是否為0,如果為0表示沒有設定頭像,就使用預設的聯絡人頭像,否則就使用使用者設定的頭像。private void setdefaultphoto viewholder holder,boolean bsim if defaultsimphoto nul...