У меня есть базовое приложение для Android, которое загружает и отображает локальный файл .mbtiles с помощью Mapbox SDK (версия 0.7.3), но при первой загрузке приложения происходит значительная задержка (что приводит к черному экрану) во время загрузки плиток. Похоже, он загружает ВСЕ плитки (а не только видимые плитки при запуске). Есть ли способ изменить это. Размер файла .mbtiles составляет примерно 257 МБ, и после запуска приложению требуется примерно 40 секунд, чтобы отобразить карту.
Любая помощь будет принята с благодарностью.
Здесь загружаются плитки:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.findViewById(R.id.mapview);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setZoom(9);
mapView.setMinZoomLevel(8);
mapView.setMaxZoomLevel(15);
mapView.setCenter(new LatLng(55.676111, 12.568333));
mapView.setTileSource(new MBTilesLayer(this, "DK_underlay_1_0_4.mbtiles"));
}
и вот журналы, показывающие ~ 40-секундный промежуток при загрузке приложения:
04-29 11:07:54.173 23590-23590/com.example.stugrey.testapp D/MapboxMapView﹕ centerLatLng is not specified in XML.
04-29 11:07:54.173 23590-23590/com.example.stugrey.testapp D/Mapbox MapView﹕ zoomLevel is not specified in XML.
04-29 11:08:34.236 23590-23590/com.example.stugrey.testapp D/AppUtils﹕ Device density is 320, and result of @2x check is true
04-29 11:08:34.236 23590-23590/com.example.stugrey.testapp D/MapTileDownloader﹕ Going to use @2x tiles? 'true'
04-29 11:08:34.308 23590-23590/com.example.stugrey.testapp I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018_msm8226_LNX.LA.3.5.1_RB1__release_AU ()
OpenGL ES Shader Compiler Version: E031.24.00.08
Build Date: 03/07/14 Fri
Local Branch:
Remote Branch: quic/LNX.LA.3.5.1_RB1.1
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018 + f2fd134 + NOTHING