0

Amazonマーケットにアプリケーションを送信しました。アップロードされた.apkは他のデバイスと私のKFTTでも完全に機能しますが、私たちまたは他のユーザーがAmazonマーケットからアプリをダウンロードすると、OutofMEMoryErrorが発生します. アウトゲームでは 1024X1024 と 2048X2048 のスプライトシートを使用しています。

.apk を手動でインストールするとクラッシュすることはありませんが、Amazon マーケットからダウンロードした後に実行すると常にクラッシュします。誰かがその理由と対処方法を教えてください。

java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:549)
at com.finoit.androidgames.framework.gl.Texture.load(Texture.java:42)
at com.finoit.androidgames.framework.gl.Texture.(Texture.java:30)
at com.finoit.androidgames.tapafish.Assets.load(Assets.java:458)
at com.finoit.androidgames.tapafish.FishTank.onSurfaceCreated(FishTank.java:23)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1446)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
4

1 に答える 1

0

私は同じ動作をしています: amazon hd 8,9 のメモリ不足であることに加えて、サイズは nexus 10 と同じで、64 mb で非常にうまく機能します。

最速の解決策として、AndroidManifest に largeHeap オプションを追加しました。これにより、必要に応じて理論的には最大 256 MB のメモリが提供されます。しばらくの間、最も簡単な解決策として試してください。

....

また、最適化したい場合は、MAT で DDMS を試して、割り当てられたメモリの最大部分を理解してください。最大のピースを見つけたら、通常これはビットマップです。bitmapFactory を使用して hdpi (ほとんどのデバイスの Amazon デフォルト密度) よりも小さいスケールでいつでもロードできます。これにより、メモリが本当に節約されます。

于 2013-04-15T12:59:18.673 に答える