cari

Rumah  >  Soal Jawab  >  teks badan

android - 关于glide+recyclerview默认读取缓存

如上问题,关于glide+recyclerview默认读取缓存,导致刷新时,即使对方更新了头像但是url还是原来url,就会去默认读取缓存,设置signature后,问题是解决了,但接着每次都会去刷新头像,缓存的意义就没有了,求解!

 Glide.with(context)
            .load(uri)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .crossFade()
            .signature(new StringSignature(UUID.randomUUID().toString()))
            .into(view);
PHPzPHPz2889 hari yang lalu528

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-04-17 17:46:58

    Jika anda ingin mendapatkan avatar baharu hanya selepas pengguna mengemas kini imej, isu utama adalah untuk memberitahu apl bahawa cache imej yang sepadan dengan URL adalah tidak sah
    Jadi anda harus bermula dengan parameter cache dalam pengepala respons yang dikembalikan oleh URL .

    Jika anda menggunakan antara muka yang disediakan oleh pihak ketiga, anda tiada pilihan selain memilih sama ada untuk mengemas kini imej setiap kali tanpa caching, atau berkompromi dan mengemas kininya sekali-sekala
    Jika anda boleh ubah suai, dapatkannya Untuk antara muka avatar, adalah disyorkan bahawa orang yang menulis antara muka menambah maklumat cache untuk membatalkan cache pelanggan semasa mengemas kini avatar.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 17:46:58

    Glide menentukan sama ada untuk memuatkan cache atau meminta semula berdasarkan URL Jika URL anda kekal tidak berubah tetapi kandungan imej berubah dengan cepat, adalah lebih baik untuk melumpuhkan cache

    .
    .skipMemoryCache( true )
    .diskCacheStrategy( DiskCacheStrategy.NONE )
    

    balas
    0
  • Batalbalas