我的应用程序在Room中从上传的excel文件中保存数据,然后在选定的列(由用户)中搜索关键字,然后显示具有该关键字的单元格的所有行。
它成功读取了小的Excel文件,但是如果我在此行上载了2 Mb以上的文件,则会卡住
Workbook myWorkBook = WorkbookFactory.create(inputStream);
此错误的详细信息..
java.lang.OutOfMemoryError
Failed to allocate a 40 byte allocation with 32 free bytes and 32B until OOM, max allowed footprint 402653184, growth limit 402653184
我遵循此http://blog.kondratev.pro/2015/08/reading-xlsx-on-android-4-and-hopefully.html进行编码。
如何解决,请?
thanx
尝试将android:largeHeap="true"
添加到AndroidManifest.xml中的<application>
标签中。但是,如果这是针对分发给用户的应用程序,则应考虑其他方法。大多数人不会欣赏您的应用占用了设备的全部内存。更好的方法是使用基于服务器的解决方案来解析文件,并让查询仅显示显示结果所需的数据。