찾다

 >  Q&A  >  본문

android 微信是如何实现即时更新好友头像的

微信好友的头像肯定是做缓存的,那么好友头像修改后,用户这边是如何实现立即就能看到修改后的头像的呢?

迷茫迷茫2772일 전1677

모든 응답(5)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-17 18:00:48

    실시간 업데이트를 원할 경우: 푸시를 사용해야 합니다. A가 아바타를 수정한 후 서버에 알리면 서버는 A의 친구에게 푸시 알림을 보내 A의 아바타를 업데이트합니다.

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 18:00:48

    가장 먼저 가져와야 할 것은 아바타 URL이어야 합니다. 로컬 캐시는 URL을 기반으로 합니다. 로컬 캐시는 아바타 URL을 가져온 다음 로딩 모듈을 통해 로드할 때마다 현재 캐시된 이미지가 맞는지 여부를 판단합니다. 이 URL과 일치하는지 여부는 새 URL을 통해 다운로드됩니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-17 18:00:48

    데이터베이스에 마지막 아바타 수정 시간 필드를 저장하세요.

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-17 18:00:48

    추측해 봅시다. 괄호 안의 프로세스는 대략적인 추측입니다.
    사용자 A가 새 아바타를 업로드하고 → 서버가 새 아바타를 처리하고 → 새 아바타 URL을 사용자 테이블의 필드에 저장하고 변경 시간을 기록합니다( → 아바타 동기화 CDN으로 이동 → 사용자 테이블의 아바타 URL 필드 업데이트 및 변경 시간 기록) → 서버가 온라인 클라이언트에 푸시 보내기 → 클라이언트가 아바타를 업데이트합니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-17 18:00:48

    짐작컨데 식별 필드를 설정할 수 있으며 기본값은 0입니다. 사용자가 아바타를 업데이트할 때 이를 1로 설정합니다. 메시지를 푸시하거나 정기적으로 동기화할 때 이 ID를 동시에 푸시합니다. 시간.
    메시지를 처리하거나 정기적으로 연락처 정보를 동기화하는 동안 휴대폰에서 이 플래그를 결정합니다. 플래그가 1이면 친구가 새 아바타를 업로드했음을 의미하며 새 아바타를 가져오기 위해 GET 요청이 이루어집니다. 로컬로 캐시하는 동시에 다음 동기화 시 아바타에 대한 반복 요청을 방지하기 위해 식별자는 0으로 업데이트됩니다.
    (PS: 개인적인 생각입니다.)

    회신하다
    0
  • 취소회신하다