2014-12-12 2 views
0

У меня есть класс с именем Request, который реализует Serializable, так что я могу делать вещи, как показано ниже, чтобы сохранить весь мой Request объект на дисккак кэшировать запрос HttpPost с изображениями на диске?

File file = new File(dir, request.name); 
FileOutputStream fos = new FileOutputStream(file); 
ObjectOutputStream oos = new ObjectOutputStream(fos); 
oos.writeObject(request); 
oos.close(); 

все работает нормально, если у меня не было образ (ы) в моем запрос. изображения (ы) выбраны с диска, но я не хочу сохранять путь (ы), так как могут быть шансы, когда пользователь удаляет/перемещает изображение (изображения).

Я знаю, что я могу делать вещи, как

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
image = baos.toByteArray(); 

и хранить image в byte[] или

String temp = Base64.encodeToString(image, Base64.DEFAULT); 

в String в моей Request.

, но делая это означает, мне нужно, что для каждого отдельного изображения в Request, и что бы занять несколько секунд или даже больше, в зависимости от того, как много изображений в Request, потому что я всегда нужно конвертировать Bitmap в String или byte[] , Я думал использовать LruCache для хранения моих изображений, но потом понял, что не знаю, как включить Bitmap в MultipartEntity. В настоящее время я использую ByteArrayBody. не уверен, есть ли лучший способ достичь этого?

В принципе, я хочу, чтобы сохранить изображение (ы) в Request на диск, получить Request в более поздней точке, а затем выполнить HttpPost .... быстрее. Выполнение ByteArrayOutputStream делает мое приложение медленным

ответ

0

Если вы собираетесь сделать использовать кэширование картинки Android-Universal-Image-Loader ИЛИ Picasso имея мощную функциональность кэширования изображений кадрирования и многие другие идут на это

Позволь мне знать, если вы столкнулись с некоторыми проблемами.

HApPy Codeng ,, !!