了解应用后台发布行为

时间:2016-09-19 05:42:46

标签: ios objective-c core-location uilocalnotification appdelegate

在Apple Doc Understanding When Your App Gets Launched into the Background

  

支持后台执行的应用程序可能会被系统重新启动   处理传入的事件......

我正在做region monitoring当我得到{i} {}时,我点击了UILocalNotification我的应用UILocalNotification被调用了。可能是因为我的应用程序是在后台启动的。

我做的第二件事是我没有点按didReceiveLocalNotification并离开几分钟,这意味着我的应用程序将由iOS终止。我拖动通知中心,然后点按UILocalNotification仍然我的应用输入UILocalNotification

我期待应用程序现在在延迟didReceiveLocalNotification点按的情况下启动的行为必须输入此方法

UILocalNotification

实际发生的事情可以让任何人详细解释一下吗?

即使在我点按- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (notification) { NSLog(@"notification caused app to launch, alert body = %@", notification.alertBody); // do what ever action you want to do // you could just copy the code from "didReceiveLocalNotification" and paste it here } return YES; } app后出现延迟,也请不要输入

UILocalNotification

1 个答案:

答案 0 :(得分:0)

您的应用程序在几分钟不活动后不会终止。
它变为空闲状态,只有在需要内存时才会终止。
请记住,它是在后台处理区域更改时启动的,并且它首先发送通知,因此它在此阶段驻留在设备内存中。
尝试使用多任务界面显式退出它或启动多个内存消耗应用程序(游戏通常可以做到这一点)强制它退出。在后台等几分钟不会让它终止。