にViewDidAppear
、
[self performSelectorInBackground:@selector(generatePdf) withObject:nil];
と呼ばれます。これにより、ビューが読み込まれるとすぐに大きな PDF が生成されます。メモリ不足の問題を考慮するために、このプロセスが開始されたら停止できますか? 使用する
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(generatePdf) object:nil];
おそらく、ビューが表示されるとすぐに呼び出されているため、機能しません。アプリが受信した場合、このプロセスを停止したいので、私の方法didReceiveMemoryWarning
で完全に停止するソリューションを探しています- (void)didReceiveMemoryWarning
- (void)viewDidAppear:(BOOL)animated
{
LogCmd();
[super viewDidAppear:animated];
if (self.pdfData == nil) {
// Generate PDF
[self performSelectorInBackground:@selector(generatePdf) withObject:nil];
}
}
....some code
- (void)didReceiveMemoryWarning {
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(generatePdf) object:nil];
}