java - MBTiles 文件有大小限制吗?

标签 java android osmdroid

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

之前的 map 约为 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:来自可绘制资源 ID #0x7f060003 的文件 res/raw/fire_map.mbtiles

我测试了多次,找不到问题,恢复到旧 map 效果很好。是否存在我不知道的限制,或者问题出在其他地方?

最佳答案

您可能已达到 APK 内最大文件大小的上限。你也许可以编译并打包它,但阅读它可能不起作用。

一些解决方案:

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

关于java - MBTiles 文件有大小限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776633/

相关文章:

java - 获取strings.xml中的所有字符串

java - 如何停止/中断 servlet 处理程序?

android - 初学者 Android 开发 : findViewById issue

android - Graphhopper on Android离线路由pbf文件报错

java - 如何删除标记图标

java - 死代码java eclipse

java - 我怎样才能使用我的 Sprite 强制 gwt?

Android EditText 在验证后更改焦点并在对话框中显示错误

php - 将数组传递给 BasicNameValuePair?

android - 如何离线使用MOBAC创建的OSMDroid SQLite tile源文件?