iOS应用程序的生命周期是多种状态,各种状态之间可以互相切换,IOS的系统资源是有限的,应用程序在前台和后台的状态是不一样的,在后台时程序会受到系统的很多限制,这样可以节省电量和提升用户体验
应用程序状态
->未运行(Not running),程序还没启动
->未激活(Inactive),程序在前台运行,不过没有接收到事件,...
iOS应用程序的生命周期是多种状态,各种状态之间可以互相切换,IOS的系统资源是有限的,应用程序在前台和后台的状态是不一样的,在后台时程序会受到系统的很多限制,这样可以节省电量和提升用户体验
应用程序状态
->未运行(Not running),程序还没启动
->未激活(Inactive),程序在前台运行,不过没有接收到事件,在没有事件处理情况下程序通常停留在这个状态
->激活(Active),程序在前台运行并且可以接收事件,这也是前台的一个正常的模式
->后台(Background),程序在后台且能执行代码,大多数程序进入后台会在这个状态上停留一会儿,时间到了之后会进入(Suspended)挂起状态
->挂起(Suspended),程序在后台不能执行代码,系统会自动吧程序编程这个状态而不会发出通知,当被挂起时,程序还是停留在内存中,当系统内存过低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存
状态切换
程序运行状态切换时的代理回调