簡體   English   中英

BufferedInputStream在Android中拋出內存不足錯誤

[英]BufferedInputStream is throwing out-of-memory errors in Android

我正在嘗試使用BufferedInputStream來加載外部DICOM文件,但最終會耗盡內存。 當我使用InputStream ,這從未出現過(我在通過assets文件夾加載文件時這樣做了)。

我創建了自己的生產者-消費者線程來緩沖文件,因此實際上並不需要BufferedInputStream,但是我確實需要使用mark()reset() ,這在FileInputStream是不可用的。

我該怎么回事呢? 是否有另一種InputStream ,我可以使用具有mark() / reset()函數的File 我可以在BufferedInputStream拋出錯誤之前以某種方式清空緩沖區嗎? 還是我應該找到一種方法來代替使用mark()

感謝您的輸入。

對於markreset以使用緩沖輸入, markreset之間的文件點需要保留在內存中。

解決方法取決於您實際上要做什么。 如果您只需要從已知位置開始讀取,可能是RandomAccessFile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM