一、理解Activity
Activity是Android程序的4大组件之一。
Activity是Android程序的表示层。程序的每一个显示屏幕就是一个Activity。
学过WEB开发的同学,可以把Activity理解成网页中的一个JSP文件;或者你可以把它理解成一个Windows的窗口。
Activity类的继承关系:
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.view.ContextThemeWrapper
android.app.Activity
也就是说Activity是Context类的子类。
二、理解Activity的生命周期
在android中Activity有四种基本状态:
1、Running
位于屏幕最前端时,此时处于可见状态,和用户可交互的状态。
2、Paused
当Acitivy被另一个透明的或者非全屏的Activity覆盖时的状态叫Paused状态,虽然可见但不可交互。
3、Stop
当Activity被另外一个Activity覆盖、界面不可见时处于Stop状态。
4、Killed
Activity被系统杀死或者跟本没启动时就是Killed状态。
正在运行的Activity 处在在栈的最顶端,它是运行状态的;
当有新Activity进入屏幕最上端时,原来的Activity就会被压入第二层,如果他的屏幕没有被完全遮盖,那么他处于Pause状态,如果他被遮盖那么他处于Stop状态。
当然不管你出于任何一层,都可能在系统觉得资源不足时被强行关闭,当然关闭时在栈底的程序最先被关闭。
譬如:当你在程序中调用 Activity.finish()方法时,结果和用户按下 BACK 键一样:他告诉 Activity Manager该Activity实例可以被“回收”。随后 Activity Manager 激活处于栈第二层的 Activity 并重新入栈,把原 Activity 压入到栈的第二层,从 Running 状态转到 Paused 状态。
LogCat工具可以观察程序的运行细节。通过LogCat的过滤器我们可以看到程序启动、屏幕翻转、按后退键程序退出的过程,这有助于我们验证刚才所学的知识。类似Eclipse的Console窗口。
- 大小: 28.8 KB
- 大小: 11.8 KB
分享到:
相关推荐
AndroidProgressBar_Android ProgressBar进度条的几乎全部的用法源码集.rar
opencv4.0+contrib编译好的库文件,直接引用到工程里就可以,采用vs2017 ,所有的资源全部包含,亲测试可以使用
android36techsrc_Android应用框架原理与程序设计36技随书源码实例完整版.rar
MyGuideView1_android底部左右滑动(流行Android主界面).rar
TraverseBody_Android遍历Body.rar
Register_Project_一个全屏显示的Android注册界面示例.rar
isweixin_android 界面设计潮流:仿微信5.2界面源码.rar
SummerHotel_Android +JSp酒店预订应用源码.rar
在原有江湖程序的基础上,重新制作编写。1、优化整个江湖框架,全屏显示,在同一框架内相互自由转换。本版本的一大特色。2、把原来功能进行了系统的分类。江湖设施、江湖娱乐、天外有天、会员专区。...
AppManager_Android获取手机里所安装的应用列表.rar
broadcast_Android 广播机制broadcast用法实例.rar
myandroidmenu_PopupWindow实现Android应用的弹出菜单.rar
AystnPicture_Android ListView异步加载图片.rar
miniTwitterLoginDemo_Android实现Twitter网站迷你登录界面.rar
AndroidOpenIntents41_Android Intent开发包附源码下载 OpenIntents工具包.rar
SharePreferences_数据存储SharePreferences在android开发中的应用实例.rar
opencv_contrib-3.4.1,国外网站下载了很长时间总算下载完成,分享给各位
AndroidViewPaper_仿QQ列表左右滑动及下拉更新效果.rar
spring-5.2.0.RELEASE-dist.zip最新版本的spring源码spring-5.2.0.RELEASE-dist.zip
XnView MP 是一款非常著名的免费看图软件XnView 的新版本,其中MP是 Multi Platform 的缩写,它将实现多平台的支持并基于同样的源代码,不同平台也将提供统一的界面和体验,并最终取代以前 XnView 的其他版本(Linux...