2014-10-15 4 views
0

Мой кеш может достигать больших размеров. Это серьезная проблема для меня сейчас. Скажите, пожалуйста, как ограничить размер кеша. Например, если вы используете функцию getCacheDir(), как можно ограничить размер файлаКак ограниченный размер кеша кеша

ответ

0

Пожалуйста, скажите мне, как ограничить размер кэша

Использование Java файл I/O, чтобы увидеть, сколько места вы потребляете, а затем удалите некоторые вещи, когда вы превысите некоторый порог.

, если вы используете функцию getCacheDir(), как можно ограничить размер файла

Вы можете измерить размер файла себя и ограничить его самостоятельно. В Android нет ничего, что ограничивало бы размер вашего кеша.

+0

Не могли бы вы ответить на еще один вопрос по этой теме. onDestroy activity Я вызываю метод очистки кеша. Эта функция удаляет все файлы из файла getCacheDir. Я получаю в цикле все файлы из этого каталога, проверяю файл.exist() и удаляю. Для каждого элемента, который нужно удалить, я помещаю Log.i («tag», delete + String.valueOf (i)) и вижу, что не все файлы удалены. Насколько я понимаю, у них нет свободного времени. Как я могу это решить? – user3815165

+0

@ user3815165: Выполняйте работу в лучшем случае, чем 'onDestroy()', и выполняйте работу в фоновом потоке, а не в главном потоке приложения. – CommonsWare

+0

Прошу прощения, но я все еще не могу понять, как лучше всего это делать. У меня есть задача закрыть приложение, чтобы очистить кеш. на кнопке Back работает OnDestroy. Но что делать, если пользователь не отключает приложение и не выгружает его из памяти. On Destroy, когда это не удается, кеш нечеткий. Может быть, есть какой-то прослушиватель onApplication Destroy для обработки этого события? – user3815165

Смежные вопросы