Android I/O พร้อมไฟล์ >16MB

เป็นไปได้ไหมที่จะทำงานกับไฟล์ I/O ที่>=16MB บน Android ขณะนี้ฉันกำลังใช้ Java NIO-API (FileChanel) ใหม่ แยกอาร์เรย์โดยใช้ System.arraycopy และใส่ชิ้นส่วนลงในคอลเลกชัน หากไฟล์มีขนาด >= 16MB เธรดจะแสดง OutOfMemoryError

มีข้อเสนอแนะอะไรบ้าง? I/O-API ปกติช้ามาก

ขอบคุณล่วงหน้า.


person chollinger    schedule 13.02.2012    source แหล่งที่มา


คำตอบ (1)


ปัญหาคือแอปพลิเคชัน Android มีขีดจำกัด RAM 16MB ต่อแอปพลิเคชัน ดังนั้นคุณจึงได้รับข้อยกเว้นหน่วยความจำไม่เพียงพอ ในปัจจุบัน หากคุณต้องการรองรับ Android เวอร์ชันทั่วไป คุณจะไม่สามารถหลีกเลี่ยงข้อจำกัดนี้ได้ คุณจะต้องประมวลผลไฟล์เป็นบางส่วน

person Boris Strandjev    schedule 13.02.2012
comment
ขนาดฮีปสูงสุดจะแตกต่างกันไประหว่างอุปกรณ์ต่างๆ - person Jens; 13.02.2012
comment
จริง. ดูที่นี่: stackoverflow.com/questions/3590443/ อย่างไรก็ตาม 16Mb เป็นขีดจำกัดสำหรับอุปกรณ์ทั่วไป - person Boris Strandjev; 13.02.2012