app内置通讯录的实现
来源:互联网 发布:遂宁知秋凤凰婚庆 编辑:程序博客网 时间:2024/06/10 18:46
最近项目需要一个内置通讯录的功能,实现的过程主要使用了pinyin4j.jar这个包,参考网上的代码http://blog.163.com/menxu_work/blog/static/20777441920126185390343/
发现这种写法相当致命,因为它整个的计算过程是直接放在adapter适配器里完成的,而根据标准的写法,adapter应该完成的仅仅是显示的功能,而不应该或者说很少有这样极耗时的计算(每次滑动adapter的getview方法就会调用一次,因此计算是一个很大的数量级,在通讯录人数很多的情况下,极易造成卡顿),在随后的测试环节也确实证明了我的想法,这种写法带来的卡顿相当明显,极大的干扰用户体验。
一种改进的写法是计算过程在list生成后完成,也就是在setadapter之前完成首字母的添加行为,整个adapter的作用仅仅是用来显示。在实际的项目中,为了更好的改善用户体验,更快地进行查询操作,还使用了缓存技术来保存头前缀,这样做的好处就是大大改善了检索的时间复杂度,并且所有的查询和排序动作都在异步线程内完成,更改后的通讯录实现不仅代码简单,效率和用户体验也更好,等有时间我会贴出关键的实现代码,供大家参考。
0 0
- app内置通讯录的实现
- android 通讯录的实现
- 通讯录的实现
- 手机通讯录的实现
- 通讯录的简单实现
- 通讯录的简单实现
- 通讯录的实现
- 通讯录的静态实现
- 通讯录的动态实现
- 通讯录的简单实现
- 通讯录的原型实现(-)
- 通讯录的实现
- 静态通讯录的实现
- 简单通讯录的实现
- 动态通讯录的实现
- 简单通讯录的实现
- 二维码通讯录的实现
- 【我的第一个App——私人通讯录】项目需求、实现技术点总结
- Tomcat内存优化
- 第二部分<容器和算法>--顺序容器
- phonegap+emberjs+python开发手机商城,html5实现本地购物车类~
- mini6410-WINCE-config.bib
- 关于send(Handle(this),256,9,Long(0,0))的说明
- app内置通讯录的实现
- 学习金字塔
- Kinect深度图与摄像头RGB的标定与配准
- iOS 交互式动画
- IHEOS
- iOS Code Signing Troubleshooting
- Java读取src目录下的properties配置文件
- Initalizing 'AppDelegate * __strong' with an expression of incompatible type ''id<UIApplicatioinDele
- linux端口重用