Android、iOS大不同——生命周期
来源:互联网 发布:曼联92黄金一代 知乎 编辑:程序博客网 时间:2024/06/14 06:29
iOS Application生命周期
AppDelegate
- (BOOL)application:(UIApplication *)applicationwillFinishLaunchingWithOptions:(NSDictionary *)launchOptions
将要启动- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
程序首次完成启动时执行,若直接启动,launchOptions没有数据,若由其他应用启动,launchOptions包含数据- (void)applicationWillResignActive:(UIApplication *)application
应用进入后台,程序失去激活(Active)时调用
需要在此方法中执行下列任务- 暂停正在执行的任务
- 禁止计时器
- 减少OpenGL ES帧率
- 若为游戏应暂停游戏
- (void)applicationDidEnterBackground:(UIApplication *)application
已经进入后台时调用- 释放共享资源
- 保存用户数据
- 作废计时器
- 保存足够的程序状态以便一次恢复
- (void)applicationWillEnterForeground:(UIApplication *)application
从后台进入前台时调用- (void)applicationDidBecomeActive:(UIApplication *)application
应用进入激活状态- (void)applicationWillTerminate:(UIApplication *)application
应用兼将要退出时调用UIController
- alloc 创建对象
- init 初始化对象
- loadView 从nib载入视图
- viewDidLoad 载入完成
- viewWillApper 视图出现在屏幕之前
- viewWillDisapper 渲染完成,显示在屏幕上
- viewDiddisapper 从屏幕移除之前
- viewWillUnload 已经从屏幕移除
- viewDidUnload 载出之前
- dealloc 被销毁
Android Activity生命周期
onCreate()
创建ActivityonStart()
创建或从后台重新到前台时被调用onRestart()
从后台到前台时被调用onResume()
创建或者被覆盖、后台重新回到前台时被调用onPause()
被覆盖或者锁屏时被调用onStop()
退出当前Activity或者跳转到新的Activity时被调用onDestroy()
退出Activity时被调用,调用之后Activity就被销毁了onSaveInstanceState(Budle outState)
Activity被系统销毁时调用onRestoreInstanceState(Budle savedInstanceState)
Activity重建时被调用对比
第一次启动
iOS:
- [AppDelegate application:didFinishLaunchingWithOptions:]- [ViewController viewDidLoad]- [ViewController viewWillAppear:]- [AppDelegate applicationDidBecomeActivie:]- [ViewController viewDidAppear:]
Android:
onCreate()onStart()onResume()
应用进入后台
iOS
- [AppDelegate applicationWillResignActive:]- [AppDelegate applicationDidEnterBackground:]
Android
onPause()onStop()
应用从后台进入前台
iOS
- [AppDelegate applicationWillEnterForeground:]- [AppDelegate applicationDidBecomeActive:]
Android
onStart()onResume()
完全退出应用
iOS
- [AppDelegate applicationDidEnterBackground:]- [ViewController viewWillDisappear:]- [ViewController viewDidDisappear:]- [AppDelegate applicationWillTerminate:]
Android
onPause()onStop()onDestroy()
分析
Android、iOS的生命周期看着大同小异,但是差别还算比较大。
Android的Activity类似iOS中UIApplication + UIViewController。
iOS的应用像是一个全屏展开的窗口,UIApplication负责管理运行状态的生命周期,UIController负责管理视图,视图间靠通知传递数据
Android的App可以理解为Activity
,Service
,Centent Provider
,BroadcastReceiver
组成,可视部分主要由Activity组成,Activity要管理运行状态和视图,而且每个Activity的运行状态相对独立,四大组件之间、包括应用之间都可以通过Intent
传递数据。
0 0
- Android、iOS大不同——生命周期
- iOS开发—生命周期
- iOS开发——生命周期
- iOS开发——生命周期
- iOS开发——生命周期
- iOS开发——生命周期
- iOS开发——生命周期
- iOS—application的生命周期
- Android—Fragment生命周期
- Android Service 的两个不同的生命周期
- Android开发:Fragment不同操作的生命周期
- Android开发:Fragment不同操作的生命周期
- Android生命周期在不同版本中的表现形式
- Android开发:Fragment不同操作的生命周期
- Android开发:Fragment不同操作的生命周期
- Android开发:Fragment不同操作的生命周期
- Android开发:Fragment不同操作的生命周期
- Android开发:Fragment不同操作的生命周期
- Cocos2d-x事件分发机制学习笔记
- Unique Binary Search Trees
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- HDU1052——田忌赛马(贪心)
- Java线程池
- Android、iOS大不同——生命周期
- C/C++__带参数的main函数
- SQL中Group By的使用
- 堆栈的区别
- centos 安装jenkins 自动构建的方式
- SQL Server 2008 R2 安装出错:Could not open key
- hdoj 2647 Reward(逆向拓扑排序+队列)
- 手机安全卫士------手机防盗页面之销毁数据&远程锁屏
- 数据结构之并查集