TGViewer
Android Broadcast Android Broadcast @android_broadcast · 14.5K subscribers
Post #9907 7.78K
🤖 TLRU — эволюция LRU-кэша с учётом времени

Стандартный LRU-кэш не знает ничего о времени — он выбрасывает записи только когда заканчивается место. Поэтому в дисковом кэше Glide могут месяцами лежать устаревшие изображения, пока не будет достигнут лимит размера.

Команда Grab описала подход TLRU (Time-Aware LRU) — форк DiskLruCache с тремя дополнительными параметрами:

1️⃣ TTL — время жизни записи. Если (текущее_время - время_последнего_доступа) > TTL, запись удаляется

2️⃣ Минимальный порог — защита от полного сброса. Если пользователь долго не заходил и все записи устарели, кэш всё равно не очищается полностью — иначе при возвращении все изображения загружались бы заново

3️⃣ Максимальный размер — наследуется от LRU без изменений

Реализация аккуратная: метка времени последнего доступа хранится прямо в journal-файле, переживает перезапуски. Алгоритм оптимизирован — если самая старая запись ещё не устарела, остальные не проверяются.

Миграция со старого LRU безопасна в обе стороны: оригинальный DiskLruCache читает TLRU journal, просто игнорируя временны́е суффиксы.

Мне нравятся такие решения, когда не надо переписывать с нуля, а точечно расширить проверенную реализацию. Три параметра поверх существующего механизма — и кэш наконец умеет забывать ненужное. Ну и честно - решение лежало на поверхности и вполне логичное.

🔗 Источник: engineering.grab.com

#Android #AndroidDev #Производительность #Оптимизация
  • 👍 42
  • ❤ 15
  • 👎 6
  • 🔥 3
  • 🤔 1
  • 👌 1
More from @android_broadcast
  1. Sep 25, 2026🚀 Вышел WorkManager 2.12.0 👉 Новое экспериментальное Work Metrics API для изучения истор…
  2. Sep 25, 2026🚀 Вышел androidx.navigation3 1.2.0. И этот как раз допил того, что надо в реальных кейсах…
  3. Sep 25, 2026🚀 Google готовит библиотеку AndroidX Backup Test (пока только первая альфа) для тестирова…
  4. Sep 24, 2026Android Broadcast pinned a photo
  5. Sep 24, 2026🐘 Вышел Gradle 9.8.0 Что нового 👉 Поддержка Java 27 👉 Улучшили отображение ошибок в лог…
  6. Sep 24, 2026🚀 Google выкатила первую реализацию A2UI на Compose (пока в Альфе) Решение от Google уже…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →