1

私は Android 用のアプリケーションを作成しましたが、可能なすべてのデバイスで動作するようにしようとしています。

このために、さまざまな密度 (ldpi、mdpi、hdpi、xhdpi) でさまざまなレイアウト (small、normal、large、xlarge) を作成しましたが、エミュレーターを の範囲でロードするとlayout-normal-xhdpi、アプリケーションが起動せず、終了します。例外 (強制終了)。他のすべてのレイアウトでは、完全に機能します。

それは何ですか?

を使用してminSDK = "8"いますが、より高い API でも試しましたが、まだ機能していません。また、レベル 4 未満の API でテストしたところ、完全に動作しました (これらの API の問題はすべての解決策をサポートしていません)。

4

3 に答える 3

1

代替リソース (ドローアブル) とレイアウト (および地域サポート用の言語) を提供できます。複数の画面のサポートについては、Android デベロッパー ガイドを参照してください。特に、ここで提供されているリソースを Android が選択する方法に関するセクションを参照してください。

また、ここに説明があります。ページをスクロールするだけで、主題を明確に把握できます。

于 2012-09-05T14:49:15.613 に答える
0

次のコード行をマニフェスト ファイルに入れるだけです。

<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:anyDensity="true" />
于 2012-09-05T14:42:00.843 に答える
0

以下は、何が起こっているかを示すログからの選択行です。

09-05 15:10:34.941: E/dalvikvm-heap(453): 9523200 バイトの外部割り当てがこのプロセスには大きすぎます。

と:

09-05 15:10:35.112: E/AndroidRuntime(453): 原因: java.lang.OutOfMemoryError: ビットマップ サイズが VM の予算を超えています

ビットマップが非常に大きく (特に 1 つは ~9MB)、メモリが不足しています。小さいビットマップを使用します。

于 2012-09-05T17:14:37.663 に答える