2017-05-11 8 views
0

私は自分のアプリで割り当てに問題があります。グラフィックをグライドしてこの問題を最小限に抑えることはできますか?私は(私が間違っているなら、私を修正)アプリのためにこれ以上のヒープを意味し、OutOfMemoryException例外を持って、理解し何からAndroidメモリゲーム

buttonGraphic[0] = R.drawable.memory3; 
    buttonGraphic[1] = R.drawable.memory4; 
    buttonGraphic[2] = R.drawable.memory5; 
    buttonGraphic[3] = R.drawable.memory6; 
    buttonGraphic[4] = R.drawable.memory7; 
    buttonGraphic[5] = R.drawable.memory1; 
    buttonGraphic[6] = R.drawable.memory8; 
    buttonGraphic[7] = R.drawable.memory2; 
+3

あなたの質問を明確にすることはできますか?理解できませんでした... –

+0

私はOutOfMemoryExceptionがあると仮定しています。「割り当てることができません」と思うので「ヒープを割り当てることはできません」 – Zoe

+0

エラーが発生しました。「142850316バイトの割り当てに割り当てられませんでした。 33553088フリーバイトと69MB(OOMまで)」ので、グラフィックスをグライドやsomethigで最適化したい。 – lili

答えて

0

あなたのエラーと仮定すると

まずBitmapオブジェクトを作成している、私はbuttonGraphicが整数であると仮定します。 (これは1、ない方法であるビットマップのインスタンスを作成するための多くの方法があることに注意してください。!)

... = BitmapFactory.decodeResource(getResources()/*context.getResources()*/, R.drawable.memory8); 

buttonGraphic配列:あなたはビットマップに描画可能に割り当てたい場合は、このような何かをしなければなりませんあなたがエラーがでOutOfMemoryException

これは、困難なエラーであると仮定すると、ビットマップ

としてそれを割り当てた場合のタイプビットマップのように持っているあなたは、あなたのアプリが付与されているよりも多くのメモリ(ヒープ/ RAM)を使用してへのアクセス。

このエラーを解決する最も簡単な方法は、メモリを増やすことです。これは、簡単にあなたのマニフェストにこのラインで行われる:アンドロイドを設定することにより、OutOfMemoryException例外を修正

android:largeHeap="true" 
+0

はい、私はOutOfMemoryExceptionこの問題があります。私はあなたの言うことをこれを試してみます。ありがとう – lili

0

:largeHeapを「true」は、それが回避策ではなく、解像度ですが、非常に悪い決断です。

私が推奨している(例:1000 * 1000pxから200pxの* 200)画像サイズを小さくするために

1.てみ

2.リワークレイアウト/デザインuは重いと7つのボタンを持っている必要はありませんので、ドロアブル、異なるUIを考える

3.ピカソを使用

関連する問題