gpt4 book ai didi

iphone - 从后台返回时重新加载 View

转载 作者:行者123 更新时间:2023-12-01 19:29:04 44 4
gpt4 key购买 nike

使用 iPhone SDK 4.1。有时,当从 iPhone 3GS 设备上的后台状态返回时,返回的 View 会丢失其中一个图像或标签。 viewDidAppear方法
从后台返回时也不会被调用。有什么办法可以强制
重新加载 View 以便调用这些方法?

最佳答案

如果您的应用由于尝试在 ram 中存储过多数据(在本例中为图像)而收到内存警告,通常会发生这种情况。

要测试是否是这种情况,您可以在 didReceiveMemoryWarning 消息中进行 NSLog 调用,或者您可以将 UIImage 子类化并扩展其 dealloc 并在其中放置一条 NSLog 消息,上面写着“图像正在解除分配”之类的内容,然后检查写入的内容安慰。如果您想在不进入调试器(因此没有控制台)的情况下检查它,您可以在最前面的主窗口 xib 内创建一个调试 UILabel(因此它始终可见),其文本值已设置,而不是写入 NSLog。这样,即使在您返回程序后,您也可以看到发生了什么。

你最好的选择是 didReceiveMemoryWarning 和一个 UILabel 对象。

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
debugLabel.text=@"Did receive memory warning";
}

要解决问题(即重新加载图像),您可以注册该 View 以接收
来自通知中心的 UIApplicationWillEnterForegroundNotification ,然后调用必要的重新加载调用,即检查哪些图像为零(已发布)并且应该重新加载。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewNeedsReload) name:UIApplicationWillEnterForegroundNotification object:nil];

- (void) viewNeedsReload
{
//Check validity of each image here and reload if necessary
}

关于iphone - 从后台返回时重新加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002849/

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