Articles of кэширование

Дооснащение + OkHTTP – кэш ответов не работает

Я знаю, что было много подобных вопросов, но я прочитал их все, и никто из них не помог. Итак, вот моя проблема: Я использую retrofit + okhttp для получения некоторых данных из API, и я хотел бы их кэшировать. К сожалению, у меня нет доступа администратора к серверу API, поэтому я не могу изменять заголовки, […]

Удаляет ли Android файлы кеша на внешнем хранилище?

В документации на Android указано, что файлы в каталоге кэша внутреннего хранилища могут быть удалены, когда устройство находится на низком внутреннем пространстве памяти. Есть ли случай, когда файлы в каталоге кэша внешнего хранилища удаляются? Например, из этого каталога: /storage/emulated/0/Android/data/packageName/cache/…

Есть ли способ уведомления, когда пользователь очищает кеш приложения?

Мое приложение хранит много данных в кеше. Если пользователь очищает данные приложения, приложение закрывается, и все в порядке; Но если он просто очищает кеш приложения, приложение продолжает работать … есть ли способ получить уведомление (например, с широковещательным приемником), когда пользователь очистил кеш? На данный момент я просто сделал это, поместив бесполезный файл в каталог кеша, […]

Кэширование gifs на фреске

Я пытаюсь сделать recyclerview с gifs. Все отлично, но фреска не кэширует gif. После прокрутки утилизации и прокрутки вверх снова gifs загружаются еще раз. Я предположил, что их нужно кэшировать и загружать немного быстрее. Раньше я использовал библиотеку ION . Загрузка была быстрее и не имела проблемы с кешем. Мне пришлось изменить lib, потому что […]

Стандартный метод кэширования данных в Android?

Я немного запутался в том, как кэшировать данные в Android. Я видел, как многие люди реализовали свой собственный кеш (например, в проекте droidfu ), но у Android, похоже, есть собственная система кэширования с ResponseCache . Есть ли причина не использовать кеш Android? Каков стандартный способ кэширования ответа URLConnection (текст, данные, json …) и где я […]

Android Load Cache Only не работает. Показать WebView в автономном режиме

Я пытаюсь показать некоторые веб-страницы через веб-просмотр без подключения к Интернету. Я думал, что могу сохранить веб-страницы в кеше и снова загрузить их из кеша, если нет подключения к Интернету. Но это не работает. Веб-сайт не появляется, вместо этого я понимаю, что сайт сейчас недоступен. Я уже проверял, правильно ли AppCachePath с getCacheDir() . У […]

Кэширование файлов Guava

Я использую Guava в приложении для Android для загрузки и кэширования имен файлов. Вот мой кеш: private static final LoadingCache<String, String> imageCache = CacheBuilder.newBuilder() .softValues() .initialCapacity(3000) .maximumSize(3000) .concurrencyLevel(12) .expireAfterAccess(IMAGE_EXPIRATION_TIMEOUT, TimeUnit.SECONDS) .build(new CacheLoader<String, String>() { @Override public String load(String key) throws Exception { Log.d(TAG, "load " + key); Bitmap bitmap = null; final File imageFile = […]

Ошибка Android Out of Memory с ленивой загрузкой изображений

Я нашел здесь код Федора и внедрил его в свой проект. Единственное различие заключается в том, что мое приложение не имеет вида списка, скорее, я получаю одно изображение за раз с сервера. Когда действие запускается, я вызываю «DisplayImage (…)», чтобы показать первое изображение. Затем есть 2 кнопки (предыдущий / следующий), которые при нажатии на них […]

Есть ли способ предварительно кэшировать веб-страницу для просмотра с помощью Android WebView?

Я читал о манифесте кэша HTML5, и я видел, что Android поддерживает кеширование веб-сайтов с использованием манифеста кэша. Я хочу использовать манифест кэша для загрузки всех необходимых ресурсов для своего сайта, чтобы предварительно загрузить его, а затем открыть WebView и отобразить удаленный веб-сайт с использованием предварительно кэшированных ресурсов. Я хочу как-то предварительно кэшировать удаленную страницу, […]

SecurityException в Android при вызове отраженного метода

Я разрабатываю приложение Cache-Cleaner, и когда я вызываю скрытый метод в PackageManager, я получаю SecurityException, хотя я дал своему приложению использование-разрешение «DELETE_CACHE_FILES», Разрешения на использование: uses-permission android:name="android.permission.DELETE_CACHE_FILES" uses-permission android:name="android.permission.CLEAR_APP_CACHE" uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" uses-permission android:name="android.permission.GET_PACKAGE_SIZE" Отраженный метод: Method method = getPackageManager().getClass().getMethod("deleteApplicationCacheFiles", String.class, IPackageDataObserver.class); Ошибка: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at <MY_PACKAGE_NAME>.MainActivity$1.onClick(MainActivity.java:70) at android.view.View.performClick(View.java:2485) at […]