2012-05-04 12 views
0

2.2.Itに基づいてアプリケーションを構築していますが、正しく動作します。しかし、私がアプリケーションを4.0に置くと(解像度1280x800のSamsung Galaxy Noteで)。それはクラッシュし、メモリが無作為に、間違ったレイアウトで実行されないと言います。サイズを固定しないでくださいAndroidアプリ2.2ポートから4.0

ここに私の状況は 私は完全に約100枚の画像を持っています(ほとんどが.pngと.jpgです)アクティビティ(通常、1つの背景イメージ、20のボタンの背景イメージ、焦点と通常のイメージ)と約2MBのファイルサイズ。

相対レイアウトの背景やボタンの背景、またはイメージビューのようにxmlにイメージとレイアウトを設定しました。

ドロアブルフォルダのサイズが2MBで、メモリが不足しているのになぜ2.2で動作するのですが、4.0で動作しないのではないかと思います。

誰かが私を助けることができたら幸いです。

最初の懸念事項はレイアウトです。たとえば、ボタンのサイズは2.2よりも相対的に大きくなります。だから私はスケーリングがメモリの問題に影響するかもしれないことを恐れています。私のボタンxmlでは、widthとheightの両方に対してwrap_contentに設定されています。私はそれが私が予想していたよりも大きくなる理由はわかりません。私の考えは、4.0のレイアウトxmlにいくつかの違いがあり、それはレイアウトを変なものにしたり、スケールを変えたりしてメモリを奇妙にするでしょう。実際、すべての画像はわずか2MBです。メモリが足りなくなる可能性はありますか?

2番目の懸案事項はメモリです。メモリの取り扱いが以前のバージョンと異なる場合があります.4.0で動作するように調整する必要がありますか?レイアウトの問題を無視して、私はさらに位置とサイズを調整することができるかもしれません。しかし、今私はレイアウトを表示することができないので、4.0で何かがあると思いますか?

最後に、各画像ビューまたはボタンに使用されているメモリ量を調べることは可能ですか?このツールを使用すると、さらに問題を調査することができます。

無料の場合は、私に手伝ってください。

+0

エミュレータに実行しましたか?または任意のモバイルデバイスですか? – divaNilisha

+0

これはアンドロイドの主な欠点であり、画像は主に1MB未満を安全にサポートします。しかし、あなたはイメージのサイズを変更することができますBitmapFactory – divaNilisha

+0

あなたはDDMS – divaNilisha

答えて

0

drawable-mdpi、drawable-hdpiなどの対応する描画可能フォルダに画像を配置してみてください。

1つのバージョンしかない場合は、それらをdrawable-nodpiに入れてみてください。レイアウトの設定に応じて、nodpiに入れるものを選択する必要があります。

xhdpiまたはhdpiデバイスがdrawableまたはdrawable-mdpiからドロワブルをロードすると、システムは自動的にリソースを拡大してdpiに合わせます。 mdpiからxhdpiまでのドロウアブルは、サイズの2倍、mdpiからhdpiの1.5倍にリサイズされます。

これは役に立ちます:)