OutOfMemoryError означает, что вы превысили бюджет ОЗУ виртуальной машины, который составляет 16 или 24 МБ, в зависимости от того, на каком устройстве вы находитесь. Это не имеет ничего общего с размерами файлов.
Максимальный размер сжатого ресурса в файле APK, который вы, вероятно, имеете в виду, составляет 1 МБ.
Файлы в области личных данных вашего приложения или на внешнем хранилище могут быть настолько большими, насколько позволяет файловая система. (Я слышал, что реализация FAT32, которую Android использует для SD-карт, имеет ограничение в 2 ГБ для отдельных файлов, но не помню разрешение этого потока.) Доступное дисковое пространство, скорее всего, будет более важным.
Возвращаясь к исходной проблеме, проверьте выходные данные logcat (через adb logcat
или DDMS), чтобы увидеть, есть ли какие-либо сообщения от сборщика мусора непосредственно перед запуском OOM.