問題タブ [hprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1785 参照

android - HPROF ビューアーとアナライザーで「重複文字列」を見つけたいのはなぜですか?

Android メモリ モニター、特に「Java ヒープのダンプ」機能を使用して、現在、アプリのメモリ リークを探しています。Android Studio のダンプ/HPROF ビューの左側には、「アナライザー タスク」を開くオプションがあり、マシンに「リークされたアクティビティを検出する」および「重複する文字列を検索する」ように指示できます。私は後者の選択肢に困惑しています。それは何をし、どのように役立ちますか?同じ文字列をリソース フォルダーに 2 回入力する不器用な開発者を助けるだけではなく、より洗練されたものでなければなりません。ドキュメントは、「ターゲットプログラムに値を繰り返す文字列がある」場合にのみ役立つと述べているため、ここではあまり役に立ちません(私の検索が十分に徹底されている場合)。これはいつですか?

0 投票する
1 に答える
567 参照

android - Android Studio の HPROF Viewer のアイコンの意味

ときどき、Android Studio の Memory Monitor と HPROF Viewer を使用して、メモリ リークや一般的なメモリ使用量をチェックしています。

ビューアで使用されているほとんどの記号と色の意味を知っていると思いますが、それらを自分で理解しているだけでなく、確認したいと思います。ウェブ上で説明を見つけられませんでしたが、私の質問に対する答えはかなり単純明快であると確信しています。

参照 3 つの次の記号は何を意味しますか?

1:シンボル#1

2:シンボル#2

3:シンボル#3

4:シンボル#4

5:シンボル#5

インスタンスのフォントの色が青、赤、太字、または斜体の場合は、どのような意味ですか?

シンボル 1、2、および 3 を同じインスタンスで組み合わせることができる場合があります。それは何か特別な意味がありますか?

6:シンボルコーム

7:シンボルコーム

HPROF Viewer に対する私の機能要求は、さまざまなアイコンにカーソルを合わせたときのツールチップです..

0 投票する
0 に答える
402 参照

java - Android Studio のヒープ ダンプ (.hprof) ビューアに間違ったカウントが表示されますか?

この実験のために、まったく新しいサンプル プロジェクトを開始しました。アプリには 1 つのアクティビティがあります。

この時点で、アプリケーションを実行して Java ヒープをダンプします。結果を以下に示します。

ここに画像の説明を入力

すごい!すべてが正しく見えます。「Total Count」と「Heap Count」は 1 です。まさに期待どおりです。

デバイスを 3 回回転させてみましょう。この時点ではまだ MainActivity が 1 つしか表示されないことを期待していますが、4 つが作成されていることは理解しています。見てみましょう。

ここに画像の説明を入力

うーん...それは奇妙です。それは 4 を示しています。活動はまだ続いているのかもしれません。参照されていません...しかし、まだGCされていません。GC を強制して、別のヒープ ダンプを実行しましょう。

ここに画像の説明を入力

変。まだ 4 です。ここで迷っています。Total Count または Heap Count のいずれかが 1 であるように聞こえます。MainActivity のすべての参照を保持しているだけですか? それは漏れですか?視聴者が間違っているだけですか?

合計数 (ドキュメントによると) は「未処理のインスタンスの合計数」です。

多分ヒープカウント?「選択したヒープ内のインスタンス数」それは私が望むものの多くのように聞こえます。gc ルートを持つインスタンス (実インスタンス) の数が必要です。

なぜこれが起こっているのか誰にも分かりますか?

0 投票する
0 に答える
33 参照

java - 履歴 .hprof ファイルの変更時刻が変更された理由

.hprofタイトルで述べたように、履歴ファイルの変更時刻が変更されたという変更理由について疑問に思っています。

私の問題のシナリオは次のとおりです。

.hprofメモリリークが発生したため、数か月前にファイルを生成したため、問題を修正して関連する Java プロセスを再起動しました。その後、このダンプされたファイルは生成された場所に破棄されます。

一方、変更時刻が更新されるとトリガーされる実行中のモニターがあります(を使用find -cmin)。

その結果、アーカイブ.hprofファイルの変更時刻が更新されたというアラートを受け取りました。

ファイルのパーミッションを手動で変更した人は誰もいなかったので、Java が単独でそれを行う状況があると思いましたか?

この問題について何か教えてください。どうもありがとう。

0 投票する
1 に答える
1062 参照

android - Android Studio でメモリ割り当てが多いヒープ ダンプが終了しない

アクティビティ間を移動しているときに、メモリ割り当てが 30 MB から 500 MB を超えるアプリがあります。それが発生している間に割り当てを追跡し、何がメモリに保持されているかを確認できますが、ヒープの HPROF ファイルを作成したいので、それを MAT にロードして、何がそのメモリを使用しているかをよりよく把握できます。

ただし、ダンプを作成しようとすると、メモリ グラフに点線とスピナーが表示されるだけで、(一見) 際限なく続きます。より低い割り当てで問題なくダンプを作成できますが、500 MB 以上が割り当てられているため、作成できないようです。

そのシナリオに関する既知の問題を探しましたが、見つかりません。問題を解決するために変更できる設定、または問題を解決するためにできることはありますか? ヒープを適切に分析しないと、メモリで何が起こっているのかわかりません。

注: 私はメモリの問題自体、ATM について助けを求めているわけではありません。主に、ヒープ ダンプを機能させる方法に関心があります。