相关疑难解决方法(0)

首次使用Google地图发布活动非常缓慢

我想在我的一个Activity中使用SupportMapFragment.我将此片段直接添加到布局xml,并将此布局设置为内容视图.但是当Activity第一次启动时,它需要太长时间(超过1秒).接下来的发布是好的,需要几毫秒.

我试过了:

  • 删除任何初始化
  • 使用MapFragment而不是SupportMapFragment
  • 以编程方式添加MapFragment

但没有任何帮助.显示地图没有任何问题或可疑日志.

你有什么建议,它是什么原因以及如何改进它?

编辑: 我有一个ListView,当用户点击Item时,它会使用MapFragment启动DetailActivity.单击项目后,在DetailActivity出现之前会有明显的延迟.只有onCreate方法,我调用setContentView,运行时间超过1秒.虽然活动在onCreate方法中,但此活动没有可见内容.点击和显示内容之间的这种延迟不是非常用户友好.

谢谢

android google-maps

38
推荐指数
4
解决办法
2万
查看次数

是什么让我的地图片段加载缓慢?

绩效提升:

以前我将所有图像保存在drawable文件夹中,这可能是地图首次加载缓慢的原因,当在屏幕上绘制标记时,图像可能不适合屏幕大小.现在我保存了图像drawable-mdpi,drawable-hdpi等等,应用程序比以前更顺畅.希望能帮助到你

原始问题:

我在片段中创建了一个地图,源代码可以在下面找到.

第一次加载时,地图片段缓慢.如果我再去任何其他片段并再次点击地图片段,它就会加载得很快而且没有slug.

谁能告诉我这里发生了什么?谢谢!

fragment_map.xml,id是 map

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:map="http://schemas.android.com/apk/res-auto"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.SupportMapFragment"/>
Run Code Online (Sandbox Code Playgroud)

MyMapFragment.java(包含onCreateViewsetUpMapIfNeeded)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    try {
        rootView = inflater.inflate(R.layout.fragment_map, container, false);
    } catch (InflateException e) {
    /* map is already there, just return view as it is */
        Log.e(TAG, "inflateException");
    }

     setUpMapIfNeeded();

    return rootView;
}


public void setUpMapIfNeeded() …
Run Code Online (Sandbox Code Playgroud)

android android-maps android-maps-v2

31
推荐指数
3
解决办法
2万
查看次数