W obrazie o wysokiej rozdzielczości dla Androida kończy się pamięć

Dobrzy koledzy deweloperzy.

Jestem zajęty, aby android przesyłał zdjęcia z aplikacji.
Udało mi się to także sprawdzić (kod będzie poniżej)
Ale kiedy wysyłam duże obrazy (10 megapikseli) moja aplikacja ulega awarii z wyjątkiem braku pamięci.
Rozwiązaniem jest użycie kompresji, ale co zrobić, jeśli chcę wysłać obraz w pełnym rozmiarze?
Myślę, że może coś ze strumieniem, ale nie jestem rodziną ze strumieniami. Być może urlconnection może pomóc, ale naprawdę nie mam pojęcia.

Podaję nazwę pliku Nazwa pliku [0 do 9999] .jpg Wartość wpisu z datą obrazu nosi nazwę Filedata Podaje UID dla wartości postu dropboxid

Poniższy kod działa, ale chciałbym rozwiązać mój problem, który uniemożliwia przesyłanie obrazów o wysokiej rozdzielczości.

Z poważaniem

<code>try
{
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 100, bos);
    byte[] data = bos.toByteArray();

    HttpPost postRequest = new HttpPost(URL_SEND);

    ByteArrayBody bab = new ByteArrayBody(data, "File" + pad(random.nextInt(9999) + 1) + ".jpg");
    MultipartEntity reqEntity = new multipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    reqEntity.addPart("Filedata", bab);
    reqEntity.addPart("dropboxId", new StringBody(URLEncoder.encode(uid)));
    postRequest.setEntity(reqEntity);

    HttpResponse response = httpClient.execute(postRequest);
    BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
    String sResponse;
    StringBuilder s = new StringBuilder();

    while((sResponse = reader.readLine()) != null)
    {
        s = s.append(sResponse);
    }

    if(d) Log.i(E, "Send response:\n" + s);
}
catch (Exception e)
{
    if(d) Log.e(E, "Error while sending: " + e.getMessage());
    return ERROR;
}
</code>

questionAnswers(1)

yourAnswerToTheQuestion