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

2015-08-22 21:25:45 +08:00
 skywatcher

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

9208 次点击
所在节点    Android
6 条回复
sparkrat
2015-08-22 21:34:04 +08:00
trie 树? 这个应该是最快的了吧...
ovear
2015-08-22 21:35:22 +08:00
sqlite 。。
jkeylu
2015-08-22 21:35:42 +08:00
/data/data/com.android.providers.contacts/databases/contacts2.db

android 存通讯录的数据库
skywatcher
2015-08-23 01:45:23 +08:00
@jkeylu 恩恩, 3Q ,确实感觉用 db 会方便很多, QQ 的消息联系人基本都是 db 来存储的
skywatcher
2015-08-23 01:48:09 +08:00
@sparkrat 用树的话那通讯录数据每次用时都得全部读到内存,不太好吧!如果上百万个号码呢?
ljbha007
2015-08-23 01:49:21 +08:00
你这是杞人忧天啊 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