Кэшированные файлы действительно хранятся в / data / data / my_app_package / cache
Обязательно храните файлы, используя следующий метод:
String cacheDir = context.getCacheDir();
File imageFile = new File(cacheDir, "image1.jpg");
FileOutputStream out = new FileOutputStream(imageFile);
out.write(imagebuffer, 0, imagebufferlength);
где imagebuffer [] содержит данные изображения в байтовом формате, а imagebufferlength - длина содержимого, которое должно быть записано в FileOutputStream.
Теперь вы можете посмотреть в DDMS File Explorer или сделать «оболочку adb» и перейти в / data / data / my_app_package / cache и сделать «ls». В этом каталоге вы найдете файлы изображений, которые вы сохранили с помощью кода.
Более того, из документации Android:
Если вы хотите кэшировать некоторые данные, а не хранить их постоянно, вы должны использовать getCacheDir (), чтобы открыть файл, представляющий внутренний каталог, в котором ваше приложение должно сохранять временные файлы кэша.
Когда на устройстве недостаточно внутренней памяти, Android может удалить эти файлы кэша, чтобы освободить место. Однако вы не должны полагаться на систему, чтобы очистить эти файлы для вас. Вы всегда должны поддерживать файлы кэша самостоятельно и не выходить за разумные пределы, например, 1 МБ. Когда пользователь удаляет ваше приложение, эти файлы удаляются.