一、 项目简介
-
功能描述
Contact 联络人
用户可以编辑联络人信息,拨号,查看个人信息等
-
Members
- venjee
- Raygee
- abbi
- Vivian
-
开发时间:2017.8.10 ~ 至今 (开发中)
二、 平台支持
Android版本已发布,设备出厂预装
三、 开发方式和架构内容
- Android开发
- 使用Git作为版本管理
- 使用Android Studio开发客户端
- 随机器预装方式升级方式
- 使用Android官网,github,Stackoverflow和codekk作为主要的知识查找
- 使用Lint, FindBugs, BlockCanary, monkey test做app代码和quanlity检查
四、 数据缓存机制
五、 安全
-
log日志敏感信息
log中禁止敏感信息的输出,比如联系人名称,电话号码等
六、 遇到的问题
-
铃声选择
铃声选择调用的系统的picker
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
但是如果有third party的应用也支援这个filter, 可能会造成选择的混乱。
为了维持之前spec:使用系统的铃声选择。解决方案是给intent指定package name,这样只会弹出系统默认的那个。
intent.setPackage(“com.android.providers.media”);
package name是通过: adb shell dumpsys activity找出来
七、 项目优化
针对项目优化,主要做了下面几项
- 清除无用代码:unused methods, comment code
- 清除危险性较低的无用模块:例如GA,自定义主题,更新
- 选择几个较独立的类优化:Application,Fragment,ResultList,EZMode
- 选则几个独立功能模块来优化:例如输入延迟处理,搜索算法
- 框架上的优化:RxJava & RxAndroid
- 性能优化
详情请参看 “Contact-Optimization”
八、 其他
项目档案
-
项目进度:F:\Manager\Contact
-
项目档案:F:\Manager\Contact