有没有办法在使用getResources()时避免大小限制.openRawResource()

nei*_*man 2 java android

我正在尝试在应用程序首次运行时从我的Android项目中的res/raw文件夹加载XML文件.我用这一行做到这一点:

InputStream xmlStream = getResources().openRawResource(R.raw.xmlfile);
Run Code Online (Sandbox Code Playgroud)

然后我想使用SAX Parser从XML文件中获取数据.执行此操作时,LogCat显示以下错误:

Data exceeds UNCOMPRESS_DATA_MAX (1290892 vs 1048576)
Run Code Online (Sandbox Code Playgroud)

反过来这个1MB的限制吗?

经过一些谷歌搜索,我发现有人将他们的文件分成1MB块,但这些不是XML文件,所以我不确定在为SAX Parser制作InputSource之前我将如何重新加入它们.

我的文件不是由我创建的,所以我不能真正编辑它(虽然我可能不得不),如果我从Internet检索它,我的代码就可以了.它的大小约为1,300KB,因此我希望每次app运行时都不必下载它

Com*_*are 5

反过来这个1MB的限制吗?

为您的文件提供一个aapt在构建过程中不会被压缩的扩展名.例如,我认为它会跳过压缩.mp3文件.