当离线地图位于Heremaps API(Android)上的SD卡上时,地图引擎初始化速度较慢

当离线地图位于Heremaps API(Android)上的SD卡上时,地图引擎初始化速度较慢,android,here-api,Android,Here Api,我遇到了一个很大的问题: 我想在我的设备上安装所有的欧洲地图,但是他们没有足够的内部存储空间,所以我用SD卡来存储它们 问题是在初始化MapEngine[MapEngine.getInstance().init(…)]时,在旧设备上加载(直到执行OneEngineInitListener)需要花费大量时间(荣誉5X[huawei KIW-L24]对于使用安卓6.0.1的旧设备,它是随机的,通常需要23秒,但有时可能需要2秒,其他可能需要1分半钟 因此,我尝试在android studio上评测该

我遇到了一个很大的问题:

我想在我的设备上安装所有的欧洲地图,但是他们没有足够的内部存储空间,所以我用SD卡来存储它们

问题是在初始化MapEngine[MapEngine.getInstance().init(…)]时,在旧设备上加载(直到执行OneEngineInitListener)需要花费大量时间(荣誉5X[huawei KIW-L24]对于使用安卓6.0.1的旧设备,它是随机的,通常需要23秒,但有时可能需要2秒,其他可能需要1分半钟

因此,我尝试在android studio上评测该应用程序,但它在方法com.nokia.maps.MapServiceClient.startServer上卡住了,如所附图片所示:

我试着在工厂重置手机,甚至试过其他荣誉5x手机,同样的问题也发生了

在logcat上,我在OnEngineInitListener启动之前(连接WiFi、断开连接且禁用WiFi)收到此错误:

另一方面,我在诺基亚4.2(Android 9.0)上测试了同一个应用程序和同一张SD卡,启动该方法大约需要2秒钟

所以我决定用SD卡上的欧洲地图测试你的应用程序(这里是WeGo),我遇到了一个类似的问题,就像我正在开发的GPS一样

视频附件:

另一个问题是,在初始化MapEngine时,它会阻塞UI,即使它是在另一个线程或后台服务上启动的

我使用的SD卡是Kingston 32GB UHS I

MapEngine.getInstance().init(sdkAppContextApplicationContext, error ->
                    {
                        if (error == OnEngineInitListener.Error.NONE)
                        {
                            if (ISDKMapEngineListener != null)
                                ISDKMapEngineListener.onSDKReady();
                        } else
                        {
                            Log.e("MapEngine", "Failed to initialize MapEngine: " + error);
                        }
                    });

请尝试从MainActivity传递TurnWiFi()中的上下文,如TurnWiFi(sdkAppContextApplicationContext)中的上下文

wifi_manager =(WifiManager)sdkAppContextApplicationContext.getSystemService(Context.WIFI_SERVICE);
wifi_manager.setWifiEnabled(true); 
Thread.sleep(2000L);

感谢您的回复,但它仍然不能正常工作。它仍然会被分析器上显示的方法卡住。
wifi_manager =(WifiManager)sdkAppContextApplicationContext.getSystemService(Context.WIFI_SERVICE);
wifi_manager.setWifiEnabled(true); 
Thread.sleep(2000L);