18

多くのRAMとCPUが使用されている、ネットワークが他のアプリによって消費されている、別のアプリによってバッテリーが消耗しているなど、さまざまな状況でアプリの動作をテストしようとしています。

ここで、(100-X)% の RAM を使用したい (レンダリングを利用できない) としましょう。アプリで使用できるのは X% だけです。それをシミュレートして、その状態でアプリを実行するにはどうすればよいでしょうか?

同様に、システムで他のさまざまなアプリが実行されているために、ネットワークの Y% しか利用できないとします。今度は、ネットワークの可用性の (100-Y)% をレンダリングしてシミュレートし、その状態でアプリを実行したいと考えています。

CPU が (100-Z)% ビジーで、テストしたいアプリの時間の Z% しか使用できません。

これらは、私がシミュレートしたい状況です。誰かが私にツールを見せたり、これを行う方法を説明してくれませんか?

4

5 に答える 5

9

あなたの要件は、あなたが制御できるストレスまたはリリース条件の下でアプリケーションをテストしたいということです。ここで私が見ることができる解決策は

  • CPUサイクルの増減、メモリの占有または解放を担当し、ネットワーク操作によってネットワークをビジー状態に保つもう1つのアプリケーション(主にバックグラウンドサービス)を開発できます(入力を提供するシンプルなUIを作成します)

    1. CPU サイクル : Float 操作を実行し、多くの CPU サイクルを消費する複数のスレッドを作成し、必要のないときはスリープ状態に保つことができます

    2. メモリ:Cコード(ポインタにメモリを割り当てるためのmalloc)を記述し、JNIと関数を介してアクセスして同じものを解放する必要があります。Java のメモリ機能を使用して現在の使用状況を監視する

    3. ネットワーク : 必要に応じてドロップボックスや他のサーバーから大量のファイルをダウンロードするタスクを作成し、必要に応じて状態を監視します。

この構成の後、サービスを実行し、目的のアプリケーションを起動して、その条件でテストします。

于 2013-06-04T04:15:58.707 に答える
1

私もこの問題に直面しました。そこにはいくつかの posix 準拠の負荷生成ツールがありました。CPU や IO に対するストレスを制御できるので、ストレスは魅力的なツールであることがわかりました。これを最大限に活用するために、生成される負荷の量を設定するラッパーを作成しています。

Android 用にコンパイルされたバイナリは次のとおりです。

オリジナルサイト、stressプロジェクトページはこちら

于 2014-05-09T15:38:20.927 に答える