Nano Hash - криптовалюты, майнинг, программирование

Очистить кеш в андроид приложении

Я не думаю, что это дубликат. Хорошо, я объясняю, что мне нужно. У меня есть список всех приложений, установленных на моем устройстве. Щелчком мне нужно показать диалоговое окно с надписью «Хотите очистить кеш?» с «да» или, конечно, «нет». Я нашел это руководство: http://android-sample-code.blogspot.it/2012/01/how-to-clear-cache-data-in-android.html, но, похоже, удаляет папку данных. Что я хочу знать, так это; есть разница? Есть ли код только для очистки кеша, а не данных приложения?

Код:

protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);    
        /**Clear cache*/
        PackageManager  pm = getPackageManager();
        // Get all methods on the PackageManager
        Method[] methods = pm.getClass().getDeclaredMethods();
        for (Method m : methods) {
            if (m.getName().equals("freeStorage")) {
                // Found the method I want to use
                try {
                    long desiredFreeStorage = 8 * 1024 * 1024 * 1024; // Request for 8GB of free space
                    m.invoke(pm, desiredFreeStorage , null);
                } catch (Exception e) {
                    // Method invocation failed. Could be a permission problem
                }
                break;
            }
        }
    }
25.10.2013

Ответы:


1

Пусть это поможет вам:

PackageManager  pm = getPackageManager();
// Get all methods on the PackageManager
Method[] methods = pm.getClass().getDeclaredMethods();
for (Method m : methods) {
    if (m.getName().equals("freeStorage")) {
        // Found the method I want to use
        try {
            long desiredFreeStorage = 8 * 1024 * 1024 * 1024; // Request for 8GB of free space
            m.invoke(pm, desiredFreeStorage , null);
        } catch (Exception e) {
            // Method invocation failed. Could be a permission problem
        }
        break;
    }
}

Не забудьте разрешение:

<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>
25.10.2013
  • я должен написать этот код внутри метода onListItemClick? Могу ли я это сделать? 25.10.2013
  • Если вы хотите вести диалог. Вам нужен вызов диалога перед вызовом метода packageManager. Итак, вызовите диалоговое окно onClick кнопки ok, вызовите метод freeStorage. 25.10.2013
  • О, хорошо, так что freestorage - это название метода? 25.10.2013
  • ок, прекрасно понимаю .. как я могу увидеть, сколько мб очищено? 25.10.2013
  • desiredFreeStorage это свободный кеш? потому что если вызвать это с тостом, возвращается 0 25.10.2013
  • но этот код предназначен для бесплатного общего кеша или только для приложения, которое я хочу очистить? 25.10.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..