0

私は現在、Eclipse を使用して Android モバイル用の画像処理ベースのアプリを開発しようとしています。私のアプリは、いくつかのボタンとサブメニュー ボタンでも構成されています。さまざまな解像度にスイッチケースを使用して、さまざまな解像度にさまざまなリソースを使用して、(任意の解像度で実行できるように) ユニバーサルにしようとしています。問題は、メモリ過負荷の問題が発生していることです。Xperia U では正常に動作しますが、Galaxy S では動作せず、エミュレーターでもクラッシュします。アプリに XML を使用したことはなく、UI 全体をプログラムで設計しました。この問題を解決する方法を教えてください。どんな助けでも大歓迎です。前もって感謝します!

4

1 に答える 1

1

まあ、質問は非常に一般的ですが、ここに役立つかもしれないいくつかのポイントがあります:

  1. すべてをプログラムで設計すると、アプリが遅くなり、実行時にすべてが作成されます。XML を使用しないことで、Android UI のデザイン最適化を使用していません。

  2. UI オブジェクトを作成するために使用しているコンテキスト。アクティビティのコンテキストではなくアプリのコンテキストに UI オブジェクトを結び付けている場合、アプリが強制終了されない限り、UI のすべてのコンポーネントがメモリに残ります。アクティビティとは異なり、アクティビティが破棄されるとすぐにすべての UI コンポーネントが強制終了されます。

  3. XML で作成されたコンポーネントを再利用することにより、Java での作業を減らすために XML インフレータを使用できます。これは、繰り返し使用している一部のサブ コンポーネントを最適化するのに役立ちます。

于 2013-02-22T00:31:50.353 に答える