Использование сжатия JPEG!
(Потому что я не знаю, как пуская в base64 закодированный массив будет вам сэкономить любое пространство.)
Могу ли я прыгать и предположим, у вас есть сцена, где вы преобразованный ваше изображение в массив пикселей вместо этого? Если нет, я предполагаю, что нет причин, по которым применяется очевидное преобразование из байтов в целые числа, представляющие пиксели. Затем мы преобразуем его в сжатый jpeg.
final int[] pixels = yourpixels;
Вы также будете нуждаться в ширину и высоту:
final int width = theWidth; etc...
Далее разжиться ваш выходной поток в клиенте:
final HttpURLConnection connection = doWhateverYouDoToOpenYourConnection();
final OutputStream httpOutputStream = connection.getOutputStream();
Теперь важный шаг заключается в использовании compression methods битовой карты Android для потоковой передачи сжатого изображения на выходной поток http:
final Bitmap androidBitmap = Bitmap.createBitmap(pixels, width, height,Config.ARGB_8888);
androidBitmap.compress(android.graphics.Bitmap.CompressFormat.JPEG, YOUR_QUALITY_INT, outputStream);
Начните с чего-то вроде YOUR_QUALITY_INT = 85
, чтобы увидеть значительное улучшение размера изображения без заметной деформации.
Если это не удается, создайте масштабированное растровое изображение с scale matrix: документация here. Это уменьшает ширину и высоту вашего растрового изображения при создании, что, очевидно, уменьшает размер запроса.
Надеюсь, это поможет.
Вы должны проверить мой ответ http://stackoverflow.com/questions/18570687/get-the-image-as-thumnail/18570836#18570836 –