Загрузка больших файлов?

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Merfi
Сообщения: 1
Зарегистрирован: 04 дек 2014, 13:28

Загрузка больших файлов?

Сообщение Merfi » 04 дек 2014, 13:36

Добрый день.

До начала работы приложения есть метод, который обращается к серверу и тянет данные в т.ч. и ссылки на картинки.

Подскажите, пожалуйста, удачный план по работе с ними.

На данный момент реализован функционал, который работает не корректно, если картинка большая (качественная фуллхд, например).

Код: Выделить всё

// где-то внутри ASyncTask
URL url = new URL(str);
URLConnection con = url.openConnection();

InputStream inputStream = con.getInputStream();
BufferedInputStream bis = new BufferedInputStream(inputStream, 4*1024);

ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
    baf.append((byte)current);
}
data = baf.toByteArray();
эта /data/ проходит через base64.encode и сохраняется в sqlite и когда нужна картинка - достается и выводится. Как я уже сказал, если картинка большая, то ничего не работает и ... В дебаге я не имею никаких ошибок связанных этим.

Вопрос такой: какие есть правильные способы работы с большими картинками? На входе ссылка на неё.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Загрузка больших файлов?

Сообщение KamiSempai » 05 дек 2014, 17:01

Merfi писал(а):Вопрос такой: какие есть правильные способы работы с большими картинками?
Сохранять их в файлы а не в базу. Это верно как для больших картинок так и для маленьких.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить