• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Activity猫的一生-故事讲解Activity生命周期,activity生命周期

Activity猫的一生-故事讲解Activity生命周期,activity生命周期

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了activity生命周期,activity生命周期图,安卓activity生命周期,activity生命周期详解,activity生命周期方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Activity猫的一生-故事讲解Activity生命周期,activity生命周期


大家好,关于Android中Activity的生命周期,网上大多数文章基本都是直接贴图、翻译API,比较笼统含糊不清。

 

我就用故事来说一说:

有个人叫User,TA养了几只猫,有只猫叫Activity。User见证了Activity猫的一生。

 

User想要一只小猫(想用一些功能),于是让一只母猫和一只公猫交配(触摸屏幕打开Activity界面),

之后经过母猫一段时间的孕育(Activity launched),小猫咪出生了(onCreate),取名叫Activity,放在笼子(App)里养。

 

主人把它抱出来,小猫咪Activity醒来(onStart)睁开眼(onResume),转转头、伸伸爪子、哭闹着要吃东西...(Activity running)。

然后主人喂食、和它玩(用户在Activity上的操作)...

User觉得和Activity一起的时间差不多够了,就(打开新的Activity)把它关进笼子,和其它猫一边玩去了(Another activity comes into the foreground)。

Activity就开始闭目养神(onPause)...

过了一会儿,主人打开笼子,呼唤它的名字(User returns to the activity),它听到后马上睁开眼(onResume)跑过去和主人玩耍(Activity running)...

后来主人又把它关起来然后走了,Activity继续闭目养神(onPause)...

再后来主人把灯关了(The activity is no longer visible),Activity感觉天黑了就睡了(onStop)...

 

不知道什么时候,主人又回来了,一边敲笼子、一边叫着Activity的名字(User navigates to the activity),

Activity被从美梦中拉回了现实世界,恢复了状态(onRestart),然后醒来(onStart)睁开眼(onResume)...

就这样不知不觉过了很久...

 

有一次主人(按下主页、多任务或电源按钮)出远门了,好久没回来,家里的食物不够,很快就被大家吃光了(Apps with higher priority need memory)。

由于Activity很弱小(优先级低)、还被关在笼子里(没有绑定前台Service),所以吃到的食物很少。

几顿饥渴后大家都饿昏了,纷纷进入休克状态(App process killed)。

主人回来时看到可怜的Activity一动不动地躺着,怎么都叫不醒,就赶紧送去兽医院抢救(User navigates to the activity)。

医生给它输了血和营养等(系统重新分给内存),经过一段时间后Activity终于复活了,它感觉好像重新从妈妈的肚子里出来一样(onCreate)。

它醒来(onStart)睁开眼(onResume),和主人打打闹闹(Activity running),过了一会儿主人就带着它回家了...

 

俗话说,大难不死必有后福,之后主人确实对Activity照顾有加。

可是天有不测风云,有一天Activity被一个坏蛋弄死了(The activity is destroyed by the system)。

Activity死了(onDestroy),User很伤心地把它埋了(Activity shut down)...

 

User很留恋和Activity在一起的时光,心有不甘,于是重新要了一只小猫,名字仍然叫Activity...

Activity一天天长大,主人对它非常宠爱,但它却越来越叛逆。

终于有一天,主人受够了,觉得Activity实在太可恶(或者没有利用价值)就(点击返回按钮)把它抛弃了(The activity is finished)...

Activity不适应外部恶劣的环境很快就死了(onDestroy),大自然用风和泥土把它埋葬(Activity shut down)...

 

这就是Activity猫的一生。

 

ZBLibrary提供了isAlive()、isRunning()等判断Activity、Fragment生命周期状态的方法;

以及runUiThread(Runnable runnable)方法来避免直接runOnUiThread(Runnable runnable)导致在onDestroy后运行崩溃;

还有线程管理类ThreadManager,BaseActivity、BaseFragment内可以runThread(String tag, Runnable runnable)很方便地新开线程,

onDestroy后自动释放,不用担心直接new Thread(runnable).start()在onDestroy后还在运行浪费资源,甚至使用被回收的变量导致崩溃等问题。

 

ZBLibrary-Android快速开发框架

 

下载试用

ZBLibraryDemoApp.apk

下载地址(觉得不错就Star支持下吧^_^)

?https://github.com/TommyLemon/Android-ZBLibrary

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Activity猫的一生-故事讲解Activity生命周期,activity生命周期
  • Activity生命周期,activity生命周期图
  • Activity的生命周期,Activity生命周期
  • Activity的生命周期,Activity生命周期

相关文章

  • 2017-05-26Postgresql通过td_fdw连接查询 MS SQL Serever 2008 表
  • 2017-05-26粗暴的解释Android与蓝牙Ble之间的通信,android蓝牙ble
  • 2017-05-26Activity生命周期,activity生命周期图
  • 2017-05-26docke swarm mode 集群应用之四-私有仓库harbor设置过程
  • 2017-05-26android中实现在矩形框中输入文字,可以显示剩余字数的功能,android字数
  • 2017-05-26Android Studio安装指南及genymotion配置
  • 2017-05-26Android学习笔记(31):滚动视图ScrollView浅析
  • 2017-05-26显示当前光照强度,当前光照强度
  • 2017-05-26Apk去掉签名以及重新签名的方法,apk去掉签名
  • 2017-05-26AndroidStudio项目打包成jar,androidstudiojar

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 安卓第一天笔记,安卓第一天
    • Android app被系统kill的场景,androidkill
    • Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能
    • 【React Native开发】React Native控件之ToolbarAndroid工具栏控件讲解以及使用(15)
    • Linux内核系列—10.操作系统开发之内核HelloWorld,linuxhelloworld
    • Linux GSO逻辑分析
    • Android 判断当前语言环境是否是中文环境,android中文
    • 8.3.7 Paint API之—— Xfermode与PorterDuff详解(四)
    • 自定义控件详解(四):Paint 画笔路径效果,paint画笔
    • 整理分享原生态mac AndroidStudio的快捷键,studio快速整理代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有