2

最初は 2.2 の Android アプリケーションに取り組んでいました。2.2 または 3.2 の携帯電話またはタブレットで正常に動作します。

しかし今、私は 4.0.3 の携帯電話で試してみました。まだ解決策がわからない問題が 2 つあります。

  1. メモリ不足の問題: メモリ不足と表示されてからクラッシュします。私は2.2でそれに直面していません。実際、これらの画像をレイアウト xml に設定しただけです。2.2 と 4.0 の違いがわかりません。

  2. レイアウトの問題。レイアウトが間違っています。xml ファイルを使用して、画像の位置とサイズを設定します。なぜ機能しないのか、特にフォントサイズ、値の部分の数字がわかりません。Android 2.2で見たものとはまったく異なります

4

3 に答える 3

1

問題 1:

それは2.2 - 4.0問題ではありませんが、携帯電話のメモリの違いです。与えられた情報で、これが私が言えるすべてです:) また、以下もご覧ください:Avoiding Memory Leaks

問題 2:

Layoutこれが、あなたが a を使用することを推奨し、絶対配置を絶対に行わないことをお勧めした理由です(私はあなたがしたと強く疑っています) !

見て :

  1. XML レイアウト
  2. 複数画面のサポート
于 2012-05-04T06:46:25.630 に答える
0

1) ddmsまたはその他のEclipseツールを使用して、2.2と4.0の両方でアプリのオブジェクトインスタンスのメモリと数を監視する必要があります。また、Androidアプリのメモリ割り当てについては、Androidは最初にすべてのアプリに、実行中のアプリ用にヒープメモリ(たとえば4MB)を割り当てます。また、すべてのアプリに最大メモリ割り当て制限(たとえば16MB)があります。アプリケーションが最初に割り当てたより多くのメモリを必要とする場合、実行時に割り当てを最大メモリ(たとえば、16MB)まで拡張します(つまり、要件に応じて4MBから6MBまたは8MB以上)。また、アプリが最大メモリよりも多くのメモリを必要とする場合、OutOfMemoryErrorが発生します。ランタイムの助けを借りて、最大メモリと空きメモリを監視できますクラスとデバッグクラス。

2)レイアウトの問題については、ピクセル値を使用しないでください。常にDp値を使用し、絶対レイアウトを使用しないでください。

さまざまな解像度のデバイスに9つのパッチイメージを使用します。

于 2012-05-05T15:33:59.897 に答える
0

同じ問題が発生しています。ハードウェアアクセラレーションと関係があるのではないかと思います。3.x以降(正確にいつだったかはわかりません)、ハードウェアアクセラレーションはデフォルトでオンになっています。これは、グラフィックスを扱うときに多くの問題を引き起こしているようです(たとえば、ハードウェアアクセラレーションがオンになっているクリップは使用できません)。

申し訳ありませんが、完全な回答ではありませんが、回答の検索に役立つ可能性があると考えました。


私は実際に私のアプリの問題が何であるかを理解し、あなたが同じ問題を抱えていることを望んでいます。

リソースを対応するドローアブルフォルダ(drawable-mdpi、hdpiなど)に再配置してみてください。どうやら、drawableフォルダーのデフォルトはdrawable-mdpiであり、dpiが高いデバイスはリソースを拡張してロードし、リソースイメージが予想よりも大きくなるようにします。私の場合、すべてのサイズが1つしかないため、背景などの大きな画像をdrawable-nodpiに入れて、OOMエラーが発生しなくなりました。お役に立てれば!

于 2012-05-15T11:41:59.210 に答える