11

次のケースでは、アプリケーションのシリアライゼーション\デシリアライゼーションをテストする必要があります。

  • アプリは長時間バックグラウンド (アイドル モード) にあり、GC によって強制終了されました。
  • アプリはバックグラウンドにあり、リソース (メモリ\cp) 不足のために GC によって強制終了されました。

一部のデバイスでは、1 ~ 2 個のゲームを起動することでシミュレートできます。しかし、1 GB のメモリを搭載したクアッドコア デバイスでは、4 ~ 10 個の重いゲームを実行するのは非常に難しく、多くの時間がかかります。

リソースの読み込みをエミュレートするデモを実装しようとしています。

  • ビットマップ配列を作成する
  • オブジェクト配列を作成する
  • 多くのサービスを立ち上げる
  • 多くの活動を開始する

しかし結果はありません。アプリケーションは (古いデバイスでも) 動作し、私のデモは OutOfMemoryException でクラッシュします。

デモ アプリケーションで高負荷をシミュレートするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

Well, the "GC" is actually abused "Out Of Memory Killer" and that kills the applications as if by signal 9. In rooted device you should be able to invoke kill(1) command from shell or kill(2) function from native library (I am not sure whether it's bound to Java) and kill your application whenever you want.

The system normally calls onStop in the Activity when it's going to background and than kills the application without further warning and without chance to react. So if you leave the application and kill it, it's appropriate simulation of it being OOM-killed.

于 2012-11-06T15:44:59.730 に答える
0

Playストアにメモリクリーナーをインストールします。これをインストールします:easymemorycleaner

一度あなたの記憶をきれいにしてください。メモリ内に保存された変数はなくなります。Parcelable にデータを保存しない限り。それは永続的です。

于 2016-09-21T06:29:52.883 に答える