MBTiles文件是否有大小限制?

时间:2016-08-04 20:12:51

标签: java android osmdroid

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

之前的地图大约是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

我经过多次测试,但我无法找到问题,恢复原来的地图效果非常好。是否有任何我不知道的限制,或者是其他地方的问题?

1 个答案:

答案 0 :(得分:1)

你可能会在APK中达到最大文件大小的上限。您可以编译和打包它,但阅读它可能无法正常工作。

一些解决方案:

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