-1

XcodeでiPadの大量のメモリを使用するプロファイルツールを使用して、第1世代のiPadでアプリをテストしたところ、アプリのメモリの割り当て解除が遅いことがわかりました(20 MBの割り当て解除に1分以上かかりました) 。ただし、このコードでは、メモリの割り当てを適切に解除します。次に、いくつかのプロのサードパーティアプリ(ChromeとFlipboard)を監視し、それらのアプリの割り当て解除率も同じであることに気付きました。

iOSまたはiPad1のメモリの割り当て解除が遅いですか、それともプロファイラーがiOSのメモリの割り当て解除を妨害しますか?

最新のiOSバージョンを使用しています。はい、実際の使用では、アプリのパフォーマンスはメモリの割り当て解除が遅いことによって影響を受けます

アプリを読み込んでメモリが安定するのを待ってからメディアまたはビューを読み込んで安定するのを待ってから、元のビューに戻って前のビューの割り当てを解除するのにかかる負荷を確認することで、割り当て解除の割合を測定しました。メディア。これは、(1分ごとに20 MB未満)の速度で実行されます。スタートアップビューでは、アプリが元のメモリ使用量、つまりアプリを開いて安定するのを待った後の使用量に戻ることはありません。

4

2 に答える 2

1

アプリをロードしてメモリが安定するのを待ってから、メディアまたはビューをロードして安定するのを待ってから、元のビューに戻って前のビューの割り当てを解除するのにかかる負荷を確認することで、割り当て解除の速度を測定しました/メディア。

これは有用なベンチマークではありません。さて、メモリを割り当てました。次に、もう必要ないことを OS に伝えました。ここまでは順調です。他の場所にメモリが必要でない限り、多くの場合、それについて多くのことを気にすることはありません。再度必要になった場合にすぐに利用できるように、キャッシュを保持する方が理にかなっています。有用なものは何も測定していません-割り当てを解除するのに必要な時間ではなく、システムが他の場所でメモリを必要とするのにかかる時間を測定しています。常識的に言えば、20MB の割り当てを 1 分で解除するのは正しくありません。

あなたが実際に興味を持っていることを測定するベンチマークを考え出すことをお勧めします.遅い割り当て解除によってアプリケーションはどのような影響を受けるでしょうか? あなたが本当に興味を持っている要素の代用としてそれをうっかり使用していませんか?

于 2012-08-01T16:27:41.190 に答える
0

必要に応じてメモリを解放する (つまり、メモリが割り当てられる時間を最小限に抑える努力をする) 場合は、「遅い解放」について心配する必要はありません (このナンセンスな言葉が何を意味するにせよ)。

プロファイラーの能力を過大評価しないでください。

于 2012-08-01T15:45:09.313 に答える