13

私はグーグルマップ(api v2)をフラグメントとして表示するアプリに取り組んでいます。アプリが読み込まれると、地図が表示される前に数秒間空白の白い画面が表示されます。ログステートメントを使用して遅延がどこにあるかを確認しましたが、なぜこれほど遅いのかわかりません。

これが私のonCreateです:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate Start -------------------------------");
    super.onCreate(savedInstanceState);
    Log.i(TAG, "onCreate 1 -------------------------------");
    setContentView(R.layout.activity_main);
    Log.i(TAG, "onCreate 2 -------------------------------");
    do_async_setup();
    Log.i(TAG, "onCreate 3 -------------------------------");
    prefs = getSharedPreferences(PREFS_NAME, 0);
    prefs_editor = prefs.edit();
    Log.i(TAG, "onCreate Finish -------------------------------"); 

そして、これが出力です。

01-20 10:05:28.802: I/HeadsUp(19544): onCreate Start -------------------------------
01-20 10:05:28.802: I/HeadsUp(19544): onCreate 1 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 2 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 3 -------------------------------
01-20 10:05:30.403: I/HeadsUp(19544): onCreate Finish -------------------------------

setContentViewの1.5秒の遅延を確認できます。これが私のレイアウトです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>

</RelativeLayout>

読み込み時にアプリがフリーズしたように、見た目が悪いだけです。どうすればこれをスピードアップするか、遅延を隠すことができますか?

ありがとう、

4

2 に答える 2

13

これは、Androidの新しいマップv2などのGLSurfaceViewを使用する場合の欠点です。遅延は、GLSurfaceViewの初期化によって発生します。Googleerからの投稿#5の近くの簡単な説明と、この問題を解決するためのスニペット(少し)については、 http://code.google.com/p/gmaps-api-issues/issues/detail?id=4639を参照してください。優先度を上げるために問題にスターを付けてください。

于 2013-01-20T22:26:51.793 に答える
2

デバッグセッションが接続されている場合、これはかなり遅くなる可能性があることがわかりましたが、接続されていない場合は通常、より許容可能な速度です。USBケーブルを外した状態で動作が速い場合は、おそらくそれが理由です。

于 2014-12-22T08:50:57.743 に答える