1

Google マップを利用したアプリを開発しています。特定のデバイスを除くすべてのデバイスで問題なく動作します: Google Nexus S - そのようなデバイスには 1 つしかアクセスできません。エラーは、マップ内をナビゲートするときに、アプリケーションが OutOfMemoryError でクラッシュすることです。以下はスタック トレースです。

04-18 14:17:52.601 E/AndroidRuntime( 2714): FATAL EXCEPTION: main
04-18 14:17:52.601 E/AndroidRuntime( 2714): java.lang.OutOfMemoryError
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.nativeCreate(Native Method)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.ZoomHelper.createSnapshot(ZoomHelper.java:444)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.ZoomHelper.beginZoom(ZoomHelper.java:194)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.MapView$2.onScaleBegin(MapView.java:380)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:261)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.MapView.onTouchEvent(MapView.java:682)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.View.dispatchTouchEvent(View.java:5486)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1714)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1892)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.app.Activity.dispatchTouchEvent(Activity.java:2364)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1840)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.View.dispatchPointerEvent(View.java:5662)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2863)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.os.Looper.loop(Looper.java:137)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.app.ActivityThread.main(ActivityThread.java:4340)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at java.lang.reflect.Method.invokeNative(Native Method)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at java.lang.reflect.Method.invoke(Method.java:511)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at dalvik.system.NativeStart.main(Native Method)

同じ問題が発生したかどうかを確認できる人はいますか? もしそうなら、これに対する解決策はありますか?

4

4 に答える 4

1

ICS 4.0.4 を搭載した Galaxy S2 でも同じ問題に直面しました。Google マップのアプリ メニューからデータを消去して強制停止しました。この後、Googleマップを再起動すると、うまくいきました。

于 2012-05-21T18:41:29.520 に答える
0

私はTF201で同じことに遭遇しました。

すべてのアップデートをアンインストールしてから、デスクトップ マーケット経由で再インストールします。(play.google.com) . 少なくともそれは私にとってはうまくいきました。おそらく、キャッシュされたデータとそのすべても削除します。

于 2012-04-18T22:27:25.147 に答える
0

アプリのメモリが不足しています。アプリ内の他の場所で多くのメモリを使用していますか (つまり、大きなビットマップをロードしていますか)。

于 2012-04-18T17:25:33.860 に答える
0

誰かがこの質問に出くわした場合に備えて、ビットマップを効率的に操作する方法に関する Android 開発者からのガイドを次に示します。

于 2013-01-15T14:44:31.413 に答える