Каждый экземпляр виртуальной машины в Android имеет то, что они называют бюджетом виртуальной машины. В основном это максимальный объем памяти, который может занимать все приложение, и ничего более. getRuntime (). maxMemory () предоставит вам размер бюджета виртуальной машины для вашего текущего экземпляра.
Бюджет может варьироваться от 16 МБ (G1) до 48 МБ (Moto Xoom), я думаю. Эти цифры могут отличаться, так как я пытаюсь вспомнить все, что у меня на голове.
Обычно для чего-то подобного вы считываете данные как InputStream и обрабатываете данные так, как вы их читаете, но не сохраняете сами данные.
Если это растровое изображение. Вы можете использовать ...
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4; // Divides the width and height each by 4 when reading the data in.
Bitmap bitmap = BitmapFactory.decodeFile(String "filePath", options);
Bitmap bitmap = BitmapFactory.decodeStream(InputStream "fileStream", options);