14

最近問題が1つあります。画像キャッシュライブラリを使用していますが、正常に動作しますが、最終的にメモリの問題が発生し、アプリが終了します(メモリが不足しているためだと思います)。画像キャッシュライブラリからソースコードを読み取った後、メモリ警告イベントが発生すると、キャッシュされたすべての画像が解放されると言われていることがわかりました(画像は巨大です)。とにかく、メモリ警告イベントを手動で直接デバイスに送信することはできますか?xcodeインストルメントツールを使用してメモリ使用量を評価しています。

4

2 に答える 2

15

シミュレータで手動でシミュレートできます。

Hardware -> Simulate Memory Warning

プログラムでシミュレートすることもできます。

- (void)simulateMemoryWarning
{
#if TARGET_IPHONE_SIMULATOR
  #ifdef DEBUG
    CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(),    (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true);
  #endif
#endif
}

CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true);
于 2011-12-07T05:46:26.217 に答える
12

UIApplicationのプライベートメソッドを呼び出すことにより、メモリ警告を生成できます。iOS6.1以下で正常に動作します

  [[UIApplication sharedApplication]performSelector:@selector(_performMemoryWarning)];

注:アプリをiTunesに送信する前に、そのセレクター呼び出しを削除してください。削除しないと、拒否されます。

于 2013-02-13T06:09:18.137 に答える