14

明示的な「フォアグラウンド」モード (Service.startForeground) で実行しているときに、Android アプリがメモリ不足に関連していると思われるいくつかの問題を処理しようとしています。

これをデバッグするには、アプリにメモリ プレッシャを加える必要があります。たとえば、多くの Web ページで Firefox などの他のさまざまなアプリを起動するなど、さまざまな方法でこれを行うことができます。ただし、これはまだかなり時間がかかり、不正確であるため、理想的とは言えません。私の質問は、デバッガー (Eclipse など) またはおそらくこの目的専用の特別なアプリを使用してメモリ プレッシャーを強制する方法はありますか? 私は迂回して自分で作成したくありません。明らかに、自分のアプリでメモリを割り当てるだけではうまくいきません。

更新:エミュレーションではなく、デバイスで実際のメモリ負荷が必要であることを反映するためにタイトルを変更しました。

4

1 に答える 1

1

編集:(クリストフのコメントを考慮して)

人工的なメモリ プレッシャーを作成できます。そのためには、MainActivity にボタンを作成します。次に、ボタンのonClickメソッドで、10,000 個のオブジェクトを作成します (さまざまな量のオブジェクトで実験してください)。次に、アプリの実行中にそのボタンを何度もクリックすると、大量のメモリ負荷が発生します。

コードは次のようになります。

class MainActivity {
    ArrayList<String> stringArray = new ArrayList<>();

    ...

    public void click(View view) {
        // Add 10,000 String objects to Array List

        for (int i = 0; i < 10000; i++) {
        stringArray.add("A string");
        }
    }
}

ボタンのonClickXML 属性を に設定するとしますclick

于 2015-04-21T05:39:15.673 に答える