我对移动应用程序开发和xamarin iOS非常陌生。我有一个具有一些UIImageViews的视图控制器,我正在用图像设置UIImageview。我想知道的是,什么时候可以挂起什么事件来保存图像
用户导航到其他视图控制器 应用进入后台 应用已关闭
我一直在研究xamarin的生命周期,并认为也许ViewDidUnload是一个很好的选择。有什么想法吗?
请原谅我的无知。
答案 0 :(得分:2)
不推荐使用ViewDidUnload。
您应使用viewWillDisappear保存数据/图像。
每当您导航到其他控制器时,都会调用此方法。 但是,当您的应用进入后台或被杀死时,这将无法涵盖。
在您的应用进入后台状态后,将调用UIApplication的applicationDidEnterBackground。并且applicationWillTerminate将在您的应用终止之前被调用。
您可以在视图中添加观察者以监视这些事件。
App观察者示例进入后台:
NSObject notificationObserver = NSNotificationCenter.DefaultCenter.AddObserver (UIApplication.applicationDidEnterBackground, SaveData);
private void SaveData(NSNotification a_notification)
{
// you can save image or any other data
}
您可以为applicationWillTerminate实现类似的功能。
答案 1 :(得分:1)
Darshana的答案是正确的。
我想添加观察事件的另一种方式:
UIApplication.Notifications.ObserveDidEnterBackground(HandleNotification);
public void HandleNotification(object sender, NSNotificationEventArgs e)
{
}