gpt4 book ai didi

ios - 当收到低内存警告时,在处理过程中停止 PerformRequestsWithTarget

转载 作者:行者123 更新时间:2023-11-28 22:38:26 26 4
gpt4 key购买 nike

ViewDidAppear 上,

[self performSelectorInBackground:@selector(generatePdf) withObject:nil];

被调用。这会在加载 View 后立即生成一个大的 PDF。为了考虑低内存问题,我可以在启动后停止此过程吗?使用

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(generatePdf) object:nil];

不起作用,大概是因为 View 一出现就已经调用了它。如果应用程序收到 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];


}

最佳答案

您无法停止正在运行的方法,但可以从中返回。

例如

- (BOOL)generatePdf{
// some task

if (memoryWarning){
return NO;
}

// some Task

if (memoryWarning){
return NO;
}

//some Task

if (memoryWarning){
return NO;
}

//some Task

//PDF has been successfully generated
return YES;
}

关于ios - 当收到低内存警告时,在处理过程中停止 PerformRequestsWithTarget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com