Как отправить большие байтовые массивы между действиями в Android?

Мне нужно отправитьbyte[] data отActivity1 вActivity2, чтобы написатьdata("FileOutputStream.write(data)") в файле JPG. Мой окончательный файл .jpg может превышать 1 МБ.

Activity1:

public void onPictureTaken(byte[] data, Camera camera) {

    Log.w("ImageSizeMyApp", String.valueOf(data.length));

    mCamera.startPreview();
    Intent shareWindow = new Intent(Activity1.this, Activity2.class);
    shareWindow.putExtra("photo",data);
    startActivity(shareWindow);
    closeCamera();

    Log.w("CameraActivity:", "onPictureTaken");

}

В Деятельности2:

Bundle extras = getIntent().getExtras();
data = extras.getByteArray("photo");

я используюLog.w("ImageSizeMyApp", String.valueOf(data.length)); чтобы получить это:

ImageSizeMyApp 6 446367 (этот размер отправляет на следующую активность, и все хорошо)

ImageSizeMyApp 77 577368 (этот размер закрывает мою камеру и не отправляет на следующее действие)

Таким образом, 500kb - это предельное измерение для Intent. Есть ли другой стабильный способ отправить мойbyte[] больше чем 500kb между действиями?

Любые ссылки или советы приветствуются. Заранее спасибо!

Обновить:

Могу ли я создать другой класс для хранения этого массива byte []? Или лучше использовать статическую переменную?

Ответы на вопрос(0)

Ваш ответ на вопрос