MBTiles 文件有大小限制吗?

Is there a size limit to a MBTiles file?

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

之前的地图是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}: android.content.res.Resources$NotFoundException: File res/raw/fire_map.mbtiles from drawable resource ID #0x7f060003

我测试了很多次都没有发现问题,恢复到旧地图工作得很好。是否有任何我不知道的限制,或者是其他地方的问题?

您可能已达到 APK 文件大小上限。你可能可以编译打包,但阅读它可能不行。

几个解决方案:

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