美文网首页
联系人调用相机拍照或使用图片设置头像后出现头像模糊

联系人调用相机拍照或使用图片设置头像后出现头像模糊

作者: 平头说人生 | 来源:发表于2018-05-23 18:54 被阅读4次

【联系人】联系人调用相机拍照或使用图片设置头像后出现头像模糊

Root Cause :

1 联系人存储的时候先存储缩略图后存储原图

2 联系人详情界面的Contact对象查询的是view_entities, 其创建的代表头像原图的字段如下设计:

private static String buildDisplayPhotoUriAlias(String contactIdColumn, String alias) { return "(CASE WHEN " + Contacts.PHOTO_FILE_ID + " IS NULL THEN (CASE WHEN " + Contacts.PHOTO_ID + " IS NULL" + " OR " + Contacts.PHOTO_ID + "=0" + " THEN NULL" + " ELSE '" + Contacts.CONTENT_URI + "/'||" + contactIdColumn + "|| '/" + Photo.CONTENT_DIRECTORY + "'" + " END) ELSE '" + DisplayPhoto.CONTENT_URI + "/'||" + Contacts.PHOTO_FILE_ID + " END)" + " AS " + alias; }

即: 当Contacts.PHOTO_FILE_ID为空的时候选取缩略图当作原头像,

此时就会使得大头像比较模糊

3 大头像的插入详情见ContactsProvider2.java中的PipeMonitor处理,

简单来讲:

(1)通过Stream将头像数据写入ContactsProvider数据空间

(2)插入头像信息,生成PHOTO_FILE_ID

(3)更新PHOTO_FILE_ID和缩略图数据所以,缩略图可以不用我们来处理,但是硬要处理也是可以的

相关文章

网友评论

      本文标题:联系人调用相机拍照或使用图片设置头像后出现头像模糊

      本文链接:https://www.haomeiwen.com/subject/iakdjftx.html