微信好友换新头像,但列表中却显示旧头像,看完你就知道咋回事了

新历史 2021-11-29 12:25:52

很多用户在使用微信时,发现自己的微信好友明明已经更换了新的头像,但好友列表中显示的仍然是旧头像,本期文章以“V8.9.15”版本的微信为例,跟各位说说为什么会出现这种情况。

用户个人资料展示的大致原理

说起微信头像,不得不从微信用户使用的本地客户端、中转服务器,以及好友微信客户端说起,当用户新注册一个微信帐号之后,会根据自己的需求设置微信号、昵称、头像、个人信息等,这些设置好的信息会被上传到服务器上,这些被上传到服务器上的数据(个人信息)是针对用户和微信好友开放的,根据对象拥有权限的不同,展示、查看的数据量也是不同的,假设用户新更换了一台手机,在新的手机上登录微信,此时就会自动从服务器上下载用户的所有个人信息(包括好友的部分个人信息),然后缓存到微信客户端里,用户就可以通过微信的资料页看到自己或好友的资料了。

简单点说,微信内的数据分为两种形态,一种是储存在服务器上的数据,一种是储存在用户手机内的本地数据,用户想要浏览服务器上的数据,必须将这些数据缓存或下载到手机内才可以。

微信数据的种类

微信数据种类分为客户端安装数据、缓存数据、使用数据三种,其中客户端安装数据是安装微信客户端时产生的;缓存数据是用户启动微信时产生的数据;此外,产生最多的是使用数据,比如浏览好友的个人信息(头像、昵称、微信账号等)、与好友聊天、群成员聊天等,这些数据都属于使用数据,使用数据与缓存数据类似,但缓存数据保存在运行内存内,而使用数据保存在机身内存内。

通常所说的“微信头像”,属于使用数据的一种,这包括自己的头像和好友头像,很多用户发现明明微信的安装客户端只有600多MB,但使用微信一段时间后,会发现微信的客户端变成了几GB、十几GB,甚至是几十GB,就是因为用户需要从服务器上下载自己和好友的个人信息和其他数据造成的。

微信好友换了新头像,但列表显示旧头像的原因

通过前文可以了解到,好友更换头像是先通过本地微信客户端,将头像上传到服务器上完成的,这个过程在好友与服务器之间完成,与其他用户没有任何关系,也就是说微信好友更换头像的行为不会对其他用户造成任何影响。

当一名用户与另一名用户成为好友时,因为会显示在通讯录列表中,服务器会根据两者之间的好友关系和授权,向彼此展示一些能够展示的个人信息,这包括微信账号、昵称、头像等等。展示的这些信息并非凭空得来,用户需要从服务器上缓存、下载下来(自动),如果没有进行缓存或下载,好友的昵称或头像会显示为“无图片”状态,很多用户使用新手机登录微信账号时,会遇到这种情况,这是因为本地微信客户端从服务器上下载好友的个人资料,需要一定的缓冲时间。

所以,当两名用户成为好友之后,服务器会自动帮助彼此缓存、下载彼此的个人信息、资料,但这种缓存和下载并不是“实时”的,成为好友关系后,除非是用户主动查看对方的个人资料,或者用户清理掉了手机内的使用数据,或者更换了新的手机登录微信,才会自动更新对方的头像,不然一直会显示对方的旧头像。

结语:简单点说,就是微信好友更换头像的同时,会将新的头像上传到服务器上保存,而其他用户的本地微信客户端内缓存或下载的是好友的旧头像,除非是删除这些本地数据或者用户主动打开查看(出发缓存、下载),不然不会主动下载服务器上储存的最新好友资料,所以会显示旧头像。

注:文中演示使用的手机型号为IQOO Z3,手机系统版本为Android Origin OS 1.0,微信版本为 V8.0.15。

0 阅读:6