iOS UIViewController和Android Activity的主要生命周期事件

原创 2016年06月02日 14:59:46

将iOS UIViewController和Android Activity的主要生命周期事件放到一起比对,也还是有点意思的,一种天下武功出少林,形变神不变的感觉。

如下:

iOS(UIViewController) Android(Activity)
事件 备注 事件 备注
alloc 分配内存地址,相当于Java的new时的前半段(分配内存),但不包括后半段(类的构造函数)    
init / initWithNibName 初始化对象,初始化数据 onCreate 当第一次调用一个Activity就时执行onCreate,定义UI,初始化成员变量,启动服务和创建线程等。
loadView 在控制器的view为nil的时候被调用。 此方法用于以编程的方式创建view的时候用到。注意调用此方式时view还没有生成。
viewDidLoad view已经生成,可以进行自定义数据、动态创建控件等创造做
此时状态:Created
    onRestart onRestart()方法则是只在activity从stopped状态恢复时才会被调用
viewWillAppear 视图出现前(即将出现)调用 onStart onStart方法后Activity处于可见状态
viewDidAppear 视图已经出现(出现后)调用 onResume 得到焦点的时候、后台回到前台时调用onResume,此方法调用后,Activity可与用户进行交互;
此时状态:Visible/Runing(等待事件中)
viewWillDisappear view即将失去焦点、不在前台显示时被调用 onPause Activity失去与用户的交互能力时被调用,如锁屏、退出、被覆盖、按Home键回到主屏时
此时状态:Hidden
viewDidDisappear view已经不可见了,但变量等在存在 onStop 当Activity处于不可见状态的时候就会调用onStop方法。此时适合处理一些较耗时的资源关闭,写数据库等操作等。
viewWillUnload 在ios6被废弃了,因为Clearing references to views is no longer necessary。    
viewDidUnload    
dealloc 视图被销毁时调用,此时适合做在init和viewDidLoad中创建的对象进行释放。 onDestory 当Activity被销毁时会调用onDestory方法。此时适合做关闭onCreate中创建的线程、回收可能造成内存泄露的资源等。
此时状态:Destoryed

另外附上一些官方图,加深理解:

iOS:


Android:



android 的activity 与IOS UIControllerView对比

最近在学习IOS开发,发现IOS开发与android有很多的相似之处,写一下它们之间开发上的不同和相同之处,也好巩固一下android。android ios的开发环境就不做介绍了,网上有很多优秀的教...

【对照Android与IOS开发系列】之 Activity与UIViewController + 对接SDK + crash

http://www.th7.cn/Program/Android/201507/495156.shtml

iOS学习笔记(四)——iOS应用程序生命周期

开发应用程序都要了解其生命周期,开始接触android时也是从应用程序生命周期开始的,android的应用程序生命周期更多是其组件的生命周期,例如Activity、Service。今天我们接触一下iO...
  • xyz_lmn
  • xyz_lmn
  • 2013年05月24日 21:01
  • 23370

生命周期对比 ios UIViewController VS android activity

一下是ios UIViewController生命周期,本人用安卓的角度点评下,方便记忆。 当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc             ...
  • wsh604
  • wsh604
  • 2013年07月12日 18:00
  • 1859

iOS UIActivityIndicatorView 的使用(菊花)

UIActivityIndicatorView 非常简单 ,就是一个转圈圈的控件 初始化方法 - initWithActivityIndicatorStyle 控制一个A...

完整获取当前ViewController的方法

/**  *  获取当前屏幕上显示的VC  *  *  @return 返回当前屏幕显示的VC  */ - (UIViewController *)activityViewControlle...

android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a...

Android系列 主要内容Activities 之 activity生命周期

Implementing the lifecycle callbacks(实现activity生命周期的调用) 说明: >整个生命周期 从onCreate()到onDestroy () 是a...

android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a...
  • wqthaha
  • wqthaha
  • 2014年03月10日 15:17
  • 3526

android:activity生命周期及几个主要函数应当做的事情

本文系作者原创,转载请附原文地址,谢谢。 原文地址: 前言: android的activity生命周期问题是个老生常谈的问题了,各大社区都有很多帖子说这个问题。 如果我说,这篇文章是我百分百原创的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS UIViewController和Android Activity的主要生命周期事件
举报原因:
原因补充:

(最多只允许输入30个字)