0

Xcode 4.3.3 と iPhone 5.1 シミュレーターを使用してアプリを開発しようとしています。

このアプリをシミュレーターで実行すると、警告は表示されず、非常にうまく機能しています。しかし、iOSデバイスでこれを機能させようとすると、Received memory warningsという警告メッセージが表示されました。アプリが画面に画像を表示し始めているときに、この警告メッセージが表示されました。私はgithubで利用可能なSDWebImageプロジェクトを使用して画像を表示しています。この問題は、メモリ構成がiOSデバイスとシミュレータでどのように異なるかに関連していると思います。私はこの質問を見てきました iOS デバイスとシミュレーターのビルドは実際にはどのように異なりますか? を参照して、iOS デバイスとシミュレーターのビルド アプリがどのように異なるかを確認してください。しかし、記憶の構成について私が見つけたものは、私を満足させませんでした。なぜこれが起こっているのか分かりますか?

別の質問: メモリ管理のコンテキストでアプリケーションに制限はありますか? つまり、たとえば、5MB のメモリが割り当てられているとしましょう。この問題を指摘するメッセージは表示されますか?

前もって感謝します。

4

2 に答える 2

3

自分で作成しない限り、シミュレーターでメモリ警告が表示されることはありません ([メモリ警告のシミュレート] オプションを使用)。仮想メモリを含む、Mac のメモリ全体にアクセスできます。モバイルアプリを使い切らないほうがいい...

デバイスでメモリの警告が表示される場合は、メモリを使いすぎていることを意味します。どこで問題が発生しているかを特定するための最適なツールは、Instruments であり、特に Allocations インストゥルメントです。これにより、最も多くのメモリを使用しているものと、どこに焦点を当てる必要があるかがわかります。ほとんどのメモリ警告は、リークまたは保持ループが原因です。

于 2012-07-25T22:03:29.423 に答える
1

s memory is the mac , but your deviceシミュレーターのメモリは非常に限られているため、シミュレーターでデバッグしない方がよいでしょう。また、シミュレーターの機能の方が優れています。

于 2012-07-26T06:28:58.360 に答える