华为Map套件活动打开非常慢

8mmmxcuj  于 2021-06-29  发布在  Java
关注(0)|答案(3)|浏览(465)

当我将我的活动更改为另一个有华为Map的活动时,打开速度非常慢。
华为版本为med-lx9n
android版本是10
内存:3.0 gb
可用空间为52/64 gb
当我单击“更改活动”按钮时,它首先会等待3-5秒。
然后我回到页面并再次返回Map页面它只等待1秒钟。
我的代码:

com.huawei.hms.maps.SupportMapFragment supportMapFragment = new com.huawei.hms.maps.SupportMapFragment();
            context.getSupportFragmentManager().beginTransaction().replace(fragmentId, supportMapFragment).commit();
            supportMapFragment.getMapAsync(huwaiMapReadyCallBack);

Map异步:

com.huawei.hms.location.FusedLocationProviderClient fusedLocationProviderClient = com.huawei.hms.location.LocationServices.getFusedLocationProviderClient(activity);

                fusedLocationProviderClient.getLastLocation().addOnSuccessListener(activity, location -> {

                    if (location != null) {

                        double currentLat = location.getLatitude();
                        double currentLong = location.getLongitude();

                        com.huawei.hms.maps.model.LatLng latLng = new com.huawei.hms.maps.model.LatLng(currentLat, currentLong);

                        com.huawei.hms.maps.CameraUpdate cameraUpdate = com.huawei.hms.maps.CameraUpdateFactory.newLatLngZoom(latLng, zoom);

                        huaweiMap.moveCamera(cameraUpdate);

                    }

                });

在xml上:

<fragment
                    android:id="@+id/map_fragment"
                    class="com.google.android.gms.maps.SupportMapFragment"
                    android:layout_width="match_parent"
                    android:layout_height="350dp" />

它的工作,但非常缓慢,我如何才能解决这个问题?正常吗?

fwzugrvs

fwzugrvs1#

第一次加载Map时,加载速度很慢,这是由缩放级别造成的。
您可以通过添加map:camerazoom=”14”. 有关创建Map示例的详细信息,请参见此处。

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mapfragment_mapfragmentdemo"
    class="com.huawei.hms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="14" />

如果要在创建后更改缩放级别,可以参考本指南。

float zoom = 14.0f;
CameraUpdate cameraUpdate2 = CameraUpdateFactory.zoomTo(zoom);
wydwbb8l

wydwbb8l2#

是的,第一次加载较慢是正常的。稍后将对其进行优化。
上面提到的@pushpo rani调整缩放级别的方法只对瓷砖有效。它会影响要为第一个屏幕Map下载的磁贴数。如果要下载的磁贴数量较大,则下载速度较低。如果数字小,速度就高。

ldxq2e6h

ldxq2e6h3#

我在我的应用程序中使用了mapboxMap活动。这在华为设备中打开也非常慢。所以我将Map加载的初始缩放级别设置为14.0以加快加载速度。现在起作用了。

相关问题