当应用程序首次运行时,我尝试从 Android 项目中的 res/raw 文件夹加载 XML 文件。我用这一行来做到这一点:
InputStream xmlStream = getResources().openRawResource(R.raw.xmlfile);
然后我想使用 SAX 解析器从 XML 文件中获取数据。执行此操作时,LogCat 显示以下错误:
Data exceeds UNCOMPRESS_DATA_MAX (1290892 vs 1048576)
是否有 1MB 的限制?
经过几次 Google 搜索后,我发现有人将文件分割成 1MB 的 block ,但这些不是 XML 文件,因此我不确定在为我的 SAX 解析器创建 InputSource 之前如何重新加入它们。
我的文件不是由我创建的,因此我无法真正编辑它(尽管我可能必须这样做),并且如果我从 Internet 检索它,我的代码就可以工作。它的大小约为 1,300KB,因此我不想每次应用程序运行时都下载它
最佳答案
Is there anyway around this 1MB limit?
为您的文件提供一个在构建过程中不会被 aapt
压缩的扩展名。例如,我认为它会跳过压缩 .mp3
文件。
关于java - 使用 getResources().openRawResource() 时有没有办法避免大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3976554/