有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MBTiles文件有大小限制吗?

我们最近升级了离线应用程序中的地图文件,以支持额外的缩放级别,但现在应用程序无法在原始文件夹中找到资源

上一张地图大约550MB

新的是1.2GB

应用程序现在在这一行崩溃:

InputStream is = getResources().openRawResource(R.raw.fire_map);

在logcat中使用这一行:java.lang.RuntimeException: Unable to start activity ComponentInfo{org.ir.mobilemap/org.ir.mobilemap.IRMobileMapActivity}: 安卓.content.res.Resources$NotFoundException: File res/raw/fire_map.mbtiles from drawable resource ID #0x7f060003

我对它进行了多次测试,但没有发现问题,恢复到旧地图效果非常好。是否有任何我不知道的限制,或者是其他地方的问题


共 (1) 个答案

  1. # 1 楼答案

    在一个APK中,你可能达到了最大文件大小的上限。你可能能够编译和打包它,但阅读它可能不起作用

    一些解决方案:

    • 减少数据库大小
    • 在应用程序启动时,将文件内容从原始存储复制到本地存储,然后从文件系统访问数据库。这在你的情况下不起作用,因为你无法打开文件
    • 安装应用程序后,将数据库下载到本地存储