Android 用户';s whatsapp应用程序检测到其联系人的个人资料图片发生变化?

Android 用户';s whatsapp应用程序检测到其联系人的个人资料图片发生变化?,android,whatsapp,android-lazyloading,Android,Whatsapp,Android Lazyloading,我正在使用whatsapp应用程序,我注意到,它第一次从服务器获取缩略图,将它们保存在缓存中,然后从缓存中而不是服务器获取这些缩略图。(如位图懒散加载) 到目前为止,我已经完成了位图懒散加载部分的实现 然而,我有一个问题如下: 当任何联系人更改其配置文件图片时,用户的whatsapp应用程序如何检测到该特定更改,以及它如何仅更新该特定缩略图,因为应用程序应该从缓存中获取缩略图 我对此一无所知。感谢您的帮助 编辑: 它是否使用推送通知通知客户端应用程序更新相应的配置文件缩略图 处理这种情况的一个简

我正在使用whatsapp应用程序,我注意到,它第一次从服务器获取缩略图,将它们保存在缓存中,然后从缓存中而不是服务器获取这些缩略图。(如位图懒散加载

到目前为止,我已经完成了位图懒散加载部分的实现

然而,我有一个问题如下:

当任何联系人更改其配置文件图片时,用户的whatsapp应用程序如何检测到该特定更改,以及它如何仅更新该特定缩略图,因为应用程序应该从缓存中获取缩略图

我对此一无所知。感谢您的帮助

编辑:


它是否使用推送通知通知客户端应用程序更新相应的配置文件缩略图

处理这种情况的一个简单方法是在存储图像和缩略图路径的表中保留一个
modified datetime
。您必须保留图像的url以及修改日期作为参数

例如:

每当应用程序尝试打开此链接时,它都会首先检查缓存中是否有可用的链接。否则,将从服务器获取新映像

我还没有在Android上尝试过这个,但它应该可以工作。我通常在web应用程序中执行此操作。

WhatsApp是基于C2DMXMMP进行消息传递的MQTT是另一种用于最小化电池使用量的协议

当任何联系人更改其个人资料图片时,用户的 whatsapp应用程序检测到特定的更改,它是如何检测的 仅更新该特定缩略图,因为应用程序 应该从缓存中获取缩略图

回答您的问题:因此WhatsApp可能正在使用XMMP推送或GCM推送通知(C2DM已被弃用;])来通知所有客户端发生了某些事件,并且其所有客户端都需要处理这些事件。在您的情况下,活动是在WhatsApp联系人中更新您朋友的设备中的个人资料图片

在您的情况下,您可以使用更新有关此类事件的客户端。 我对XMPP不太了解,但您也可以看看(一个用于即时消息和状态的开源XMPP(Jabber)客户端库)和这个

我希望我回答了你的问题。祝你好运:)

编辑:

是一项来自谷歌的服务,它使用持久的XMPP连接与Android设备进行通信。您可以使用以下任何GCM技术来实现这一点


谢谢你的回复,我一定会试试。欢迎。请分享你的代码,如果它适用于android:)当然,我会这样做。非常好的书面回答,包含了很多信息,解决了我的大部分疑问。谢谢:)我猜它也很有未来感:)就像你说的,whatsapp把这些缩略图存储在缓存中,你能告诉我你是如何懒散地加载缓存的缩略图的吗?有外部图书馆吗?
http://yourdomain.com/images/user_id.png?q=modifieddatetime