一、理解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
分享到:
相关推荐
在Android开发中,ProgressBar是用户界面(UI)设计中不可或缺的一部分,它用于向用户展示某个操作的进度或等待状态。本资源"AndroidProgressBar_Android ProgressBar进度条的几乎全部的用法源码集.rar"提供了关于...
这可以通过在`AndroidManifest.xml`中对相应Activity添加`android:theme`属性,设置为`@android:style/Theme.NoTitleBar.Fullscreen`或自定义主题实现。 - 另一种方法是在Activity的`onCreate()`方法中调用`...
1. Activity:Activity是Android应用的用户界面入口,负责处理用户与屏幕的交互。开发者可以通过重写生命周期方法来控制Activity的行为,比如onCreate()用于初始化界面,onResume()用于恢复到用户可见状态,onPause...
OpenCV(开源计算机视觉库)是一个强大的开源框架,主要用于图像处理和计算机视觉任务。它包含了丰富的函数和模块,用于图像分析、特征检测、物体识别、人脸识别等。`opencv_contrib`是OpenCV的一个扩展模块,包含了...
在Android应用开发中,弹出菜单(PopupWindow)是一种常用的功能,它可以在用户与界面交互时显示临时的、非模态的视图。本资源"myandroidmenu_PopupWindow实现Android应用的弹出菜单.rar"提供了如何使用PopupWindow...
【标题】:“MyGuideView1_android底部左右滑动(流行Android主界面)” 【描述】:这个资源包可能是一个Android开发项目,它专注于实现一种流行的设计模式,即在应用程序主界面上通过底部左右滑动来展示引导视图...
【标题】"SummerHotel_Android +JSp酒店预订应用源码"是一个综合性的项目,它展示了如何使用Android技术和JavaServer Pages(JSP)来构建一个完整的酒店预订系统。这个源码包提供了从移动设备(Android端)到服务器...
在Android开发中,遍历Body通常是指处理网络请求或响应中的数据,这些数据可能以JSON、XML或其他形式存在。在Android应用中,我们经常需要解析并处理这些数据,以便进行进一步的操作,比如显示在UI上或者存储在本地...
【标题】"isweixin_android 界面设计潮流:仿微信5.2界面源码" 涉及的是Android平台上的一款界面设计实例,它模仿了微信5.2版本的用户界面,旨在帮助开发者理解和实现类似微信的交互体验。在Android应用开发中,界面...
在Android系统中,广播(Broadcast)是一种非常重要的组件,它允许应用程序之间进行异步通信,即使这些应用在后台运行或完全未启动。BroadcastReceiver是处理广播的核心类,它监听并响应系统或应用发送的广播意图...
在原有江湖程序的基础上,重新制作编写。1、优化整个江湖框架,全屏显示,在同一框架内相互自由转换。本版本的一大特色。2、把原来功能进行了系统的分类。江湖设施、江湖娱乐、天外有天、会员专区。...
在Android平台上,获取手机上已安装应用列表是开发者经常需要进行的操作,这有助于实现各种功能,比如应用管理、推荐关联应用或分析用户设备状态。本文将深入探讨如何使用AppManager来实现这一目标,并提供相关代码...
《Android OpenIntents:探索Intent开发与源码分析》 Android OpenIntents是一个开源项目,致力于为Android开发者提供一系列预定义的Intent,旨在简化应用程序之间的交互。这个项目不仅包括了一系列实用的Intent,...
在Android开发中,ListView是一个非常常见的组件,用于展示大量数据列表。然而,如果直接在ListView中加载图片,尤其是在网络请求的情况下,可能会导致性能问题,如界面卡顿、内存泄漏等。"AystnPicture_Android ...
miniTwitterLoginDemo_Android实现Twitter网站迷你登录界面.rar
`SharedPreferences`以键值对的形式存储数据,支持基本数据类型如布尔、整型、浮点型、字符串等,并且数据在应用程序的生命周期内持久化,即使应用被关闭或设备重启,数据依然可以被读取。 `SharedPreferences`的...
《Android开发:实现QQ列表的左右滑动及下拉更新效果》 在移动应用开发领域,用户界面的设计和交互体验是至关重要的。Android系统提供了丰富的API和工具,使得开发者能够创造出各种各样的交互效果。本篇文章将深入...
ViewPage是Android SDK提供的一种用于实现水平滑动页面切换的组件,而Fragment则可以看作是Activity的一部分,用于构建可重用的、模块化的界面。下面我们将详细探讨如何实现这样的功能。 首先,`ViewPager`是...
每个`<item>`标签代表一个菜单项,可以指定`android:title`(文字标签)、`android:icon`(图标)以及`app:showAsAction`(是否始终显示图标)等属性。 3. **Java或Kotlin实现**:在Activity中,我们需要通过`...
OpenCV(开源计算机视觉库)是计算机视觉和机器学习领域广泛应用的一个强大工具,它提供了丰富的函数和算法,用于处理图像和视频数据。`opencv_contrib`是OpenCV的一个扩展模块,包含了许多非核心但非常有用的组件,...