Android I/O dengan file ›16MB

Apakah mungkin untuk bekerja dengan file I/O yang berukuran >=16MB di Android? Saat ini saya menggunakan Java NIO-API (FileChanel) baru, membagi array menggunakan System.arraycopy dan memasukkan potongan-potongan itu ke dalam koleksi. Jika file berukuran >= 16MB, thread akan memunculkan OutOfMemoryError.

Ada saran? I/O-API normal sangat lambat.

Terima kasih sebelumnya.


person chollinger    schedule 13.02.2012    source sumber


Jawaban (1)


Masalahnya adalah aplikasi Android memiliki batas RAM 16MB per aplikasi - sehingga Anda mendapatkan pengecualian kehabisan memori. Saat ini jika Anda ingin mendukung versi Android paling umum Anda tidak dapat menghindari batasan ini. Anda perlu memproses file dalam beberapa bagian.

person Boris Strandjev    schedule 13.02.2012
comment
Ukuran heap maksimal bervariasi antar perangkat. - person Jens; 13.02.2012
comment
BENAR. Lihat di sini: stackoverflow.com/questions/3590443/. Namun 16Mb adalah batas untuk perangkat yang paling umum. - person Boris Strandjev; 13.02.2012