文章详情页
android 微信是如何实现即时更新好友头像的
浏览:383日期:2022-10-02 16:23:57
问题描述
微信好友的头像肯定是做缓存的,那么好友头像修改后,用户这边是如何实现立即就能看到修改后的头像的呢?
问题解答
回答1:如果要做到实时更新:就需要使用推送,A修改头像之后,通知服务端,服务端再对A的好友进行推送通知更新A的头像。
回答2:先拉取的肯定是头像url啊,本地缓存是根据url做的,本地每次都拉取头像url然后通过加载模块去加载的时候会判断当前缓存的图片是否与此url一致,不一致才会通过新的url去下载。
回答3:数据库中保存一个字段:上次头像修改时间.
回答4:推测一下,括号里的过程是瞎猜的:用户A上传新头像→服务器处理新头像→将新头像URL存储到用户表的某个字段里,记载更改时间(→同步头像到CDN→更新用户表的头像URL字段,记载更改时间)→服务器向在线的客户端发推送→客户端更新头像。
回答5:猜测一下,可以设置一个标识字段,默认为0,用户更新头像时把它置为1,在推送消息或定期同步时,同时推送这个标识。手机在处理消息或定期同步联系人信息的同时,判断这个标识,如果标识为1,说明好友上传了新头像,这时候再GET请求拉取新头像并缓存在本地,同时更新服务器端标识为0,防止下一次同步时重复请求头像。(PS:只是一点个人的想法。)
标签:
微信
相关文章:
1. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?2. docker api 开发的端口怎么获取?3. docker镜像push报错4. PHP中的$this代表当前的类还是方法?5. macos - mac下docker如何设置代理6. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?7. 老师,flex-shrink: 1; 按视频操作,不会自动缩放8. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~9. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分10. android glide asbitmap 在baseadpter中的问题
排行榜

网公网安备