手机通讯录是如何实现的?

2015 年 8 月 22 日
 skywatcher

用到哪些数据结构,如何存储,如何达到快速的查询?

13956 次点击
所在节点    Android
6 条回复
sparkrat
2015 年 8 月 22 日
trie 树? 这个应该是最快的了吧...
ovear
2015 年 8 月 22 日
sqlite 。。
jkeylu
2015 年 8 月 22 日
/data/data/com.android.providers.contacts/databases/contacts2.db

android 存通讯录的数据库
skywatcher
2015 年 8 月 23 日
@jkeylu 恩恩, 3Q ,确实感觉用 db 会方便很多, QQ 的消息联系人基本都是 db 来存储的
skywatcher
2015 年 8 月 23 日
@sparkrat 用树的话那通讯录数据每次用时都得全部读到内存,不太好吧!如果上百万个号码呢?
ljbha007
2015 年 8 月 23 日
你这是杞人忧天啊 sqlite 就是用 b-tree 实现的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215209

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX