1

Google Maps Android API v2 でメモリ リークの問題に苦しんでいます。ビューが再び表示されるたびに、ヒープ使用量が約 85KB 増加します。

  • 電話の画面がオフになります (電源ボタンを押した後など)。
  • ユーザーがホームボタンを押してアプリを終了します。

アプリは最終的にOutOfMemory 例外でクラッシュします。画面回転時や「戻る」ボタンによる終了時にはリークは発生しません。回避策またはこの問題の背後にある理由についてのアイデアはありますか?

私のコード:

public class LeakActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_leak);
    }
}

およびXML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

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

</RelativeLayout>
4

2 に答える 2

3

これは、Maps API の未解決の問題に関連している可能性があります。

問題 4766 - バグ: Android Maps API v2 で大量のメモリ リークが発生する

DDMS の「Dump HPROF」ツールを使用して hprof ファイルをダンプし、変換してMAThprof-convを使用してリークを調べます。それが Google Maps API にある場合は、apk (またはより簡単なテスト コード) を未解決の問題に投稿し、hprof ファイルを含めてください。

私が経験しているバグと同じ場合は、Android 2.x でのみ発生する可能性があります。それも確認してください。

于 2013-05-03T10:17:38.923 に答える