5

リソースがかなり制限されているデバイスで、アプリがメモリを消費しすぎないようにしています。数日前、Instrumentsを使用して、アプリが使用しているメモリ量を判断していましたが、 Live Bytesで約 4 ~ 8 メガバイトを取得していました。今日、再び Instruments を実行すると、Live Bytes で約 30 ~ 35 メガバイトが使用されます。この 2 回の間にコードに重大な変更を加えたとは思いません。

私のアプリではMKMapView、カスタム タイル オーバーレイを使用しています。私は XCode の更新をかなり長い間延期していたので、XCode をアップグレードするまで、私の iOS シミュレーターは数日前に Apple マップではなく Google を使用していたことが原因ではないかと考えています。

MKMapView小さなテストとして、 だけで他に何もない新しいテスト アプリを作成し、 Instruments を実行しました。このアプリの Live Bytes は、カスタム コードがまったくなくても、 50 ~ 90メガバイト程度になるのが一般的です。MKMapView をドラッグ アンド ドロップするだけです。

これがAppleに代わって新しいマップがこれほど多くのメモリを使用することを意図しているかどうかはわかりません. マップ タイルはアプリ間で共有されている可能性があり、これで問題ありません。いずれにせよ、以前の提案のほとんどが 5 ~ 20MB 程度であり、Apple の MKMapView が 50 ~ 90MB を消費することを考えると、安全に使用できる Live Bytes の合理的な概算を考え出すのは複雑です。

Live Bytes が現在使用されていないことに失敗した場合に使用できる別の有用なメトリックはありますか?

編集:他の人にとっては、これは正当なメモリ管理の問題であり、アプリのクラッシュを引き起こしているようです: iOS6 MKMapView は大量のメモリを使用し、アプリをクラッシュさせますが、他の誰かがこれに気付きますか?

4

0 に答える 0