私はios開発が初めてです。URLからいくつかの画像を表示するアプリを開発しました。MWPhotoBrowser を使用して画像を読み込み、キャッシュ管理を行いました。私のアプリには、表示する 33 枚の画像があります。アクティビティ モニターで実際のメモリを確認したところ、15MB から始まり、33 番目の画像を見る頃には 240MB に増加していました。アプリを審査に提出すると、これは問題になりますか?
ありがとう、プリヤサム・アニセティ
回答ごとに述べたように、その量のメモリを使用するアプリはオペレーティング システムによって強制終了されます。アプリは約 20 MB で警告を受け取り、約 35 MB の iOS ではプロセスを強制終了し始め、50 MB になるとほぼ確実に停止します。そして、ほとんどの人がそうであるように、ユーザーがバックグラウンドで多くのことを実行している場合、これらは少なくなる可能性があります.
特定のヘルプが必要な場合は、コードを投稿してください。間違っている可能性があることはたくさんあります
ブレークポイントと計測器のリークアナライザーを使用して、主要なメモリの問題を引き起こしているコード行を追跡してみてください。
明らかに、必要な画像だけをメモリに保持する方法を見つける必要があります。多くの写真をスキャンしている場合、最適な方法は、メモリ フットプリントを大幅に改善できる再利用可能な識別子プロパティが組み込まれているため、それらをテーブル ビューに配置することです。
具体的には、画像をメモリに保存するために使用している方法を教えてください。
実際のデバイスでテストしたときにアプリがクラッシュしたことはありませんか? もしそうなら、確かにメモリ管理を再考する必要があります。
当時、Lynda.com のトレーニング クラスで、iOS では約 50 Mb のメモリしか使用できず、Apple のアプリを含むアプリがそれ以上のメモリを使用すると、アプリは自動的にシャットダウンすると言っていたことを覚えています。 iOS。アプリが実際にどれだけのメモリを使用できるかはわかりませんが、iPhone 4 と iPhone 4S は合計で 512 Mb しかないため、240 Mb はおそらく多すぎます。アプリのクラッシュが頻繁に発生する場合は、おそらく Apple に拒否されるでしょう。
一般に、メモリ管理をもう一度見て、それらを再利用できるかどうかを確認し、リークがある場合は修正する必要があると思います。
幸運を!
240MB は単に大量のメモリ使用量であり、おそらくアプリのどこかでメモリ リークが発生していることを示しています。実際のデバイスで長時間実行したり、表示する画像が多い場合は、おそらくクラッシュします。ARC を使用していない場合は、すべての保持が保持と適切にバランスが取れていることを確認してください。Xcode アナライザーを使用してメモリ リークを追跡することをお勧めします。