Android组件Activity初探

1.Activity是什么

Activity是Android系统中的四大组件之一,在MVC模式中属于C控制层

M(Model 模型):Model是应用程序的主体对象。
       V(View 视图):是应用程序中负责生成用户界面的部分,使用XML作为编程语言。
       C(Controller控制层)android的控制层的重任就要落在众多的activity的肩上了,所以在这里就要建议大家不要在activity中写太多的代码,尽量能过activity交割Model业务逻辑层处理。

一个应用程序通常由多个Activities组成,他们通常是松耦合关系。通常,应用程序中第一个被展示的Activity被指定为"Main" Activity。每一个Activity然后可以启动另一个Activity。每一次一个Activity启动,前一个activity就停止了。当一个新Activity启动,它被推送到栈顶(压栈),取得用户焦点。Back Stack符合简单“后进先出”原则,所以,当用户完成当前Activity然后点击back按钮,它被弹出栈(并且被摧毁),然后之前的Activity恢复。

2.Activity的生命周期

Activity生命周期图

Activity 的生命周期中的系统回调函数。
public class Activity extends ApplicationContext {
      protected void onCreate(Bundle icicle);
      protected void onStart();
      protected void onRestart();
      protected void onResume();
      protected void onFreeze(Bundle outIcicle);
      protected void onPause();
      protected void onStop();
      protected void onDestroy();
}

3.Activity的状态类型

Activity有四种状态:
       活动状态(Activity):当Activity处于Stack(栈)顶时,就是手机当前的现实屏幕,这是 Activity就处于activity或者运行状态。
       运行但是失去焦点(Pause):当Activity还处于运行状态时,但是屏幕是有另外一个Activity处于文档处于焦点状态,当前的Activity就处于pause。
       停止(Stop),当Activity被另一个Activity完全覆盖的时候,就被停止了,其实就是虽然在运行,但是用户却看不见。
       结束(Destroy),当Activity处于pause或者stop时,系统可以结束 Activity,回收资源,这是Activity就是处于结束状态了。

4.Activity的响应时间
       当前Activity所在的线程为主线程,它的响应时间为5秒,如果在当前运行的Activity中进行耗时的操作且响应时间起过5秒,那么程序就会报ANR错误。所以,这也是不建议在Activity中写太多复杂代码的原因之一。
       当然,有些代码只能写在Activity中,不然就运行不了(它们不是生命周期方法),比如你想要获得android系统或者硬件一的些信息,就必须在Activity中写出来,如果单独写一个工具类获得不了。

时间: 2024-12-22 19:05:15

Android组件Activity初探的相关文章

Android组件Activity中的View绘画和动画(Animation)是否会重画?

Activity 就是Android中的活动,是Android系统中唯一一个可见组件. Activity中官网中有一句话: The visible lifetime of an activity happens between a call to onStart() until a corresponding call to onStop() 这句话的意思是可以看见Activity的生命周期是从 调用onStart()方法开始 直到调用onStop()方法.这句话开始我就理解错误了.因为设置Ac

Android Activity初探

原地址:Android Activity初探 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况下这个窗口会覆盖整个屏幕,但在某此情况下也会出现一些比屏幕小的窗口飘浮在另外一个窗口上面. 接下来我们为Android应用添加一个新的Activity 第一步.新建一个继承Activity的类,如:MainActivity package com.ljq.activity; im

十九、Android Activity初探

原文:十九.Android Activity初探 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况下这个窗口会覆盖整个屏幕,但在某此情况下也会出现一些比屏幕小的窗口飘浮在另外一个窗口上面. 接下来我们为Android应用添加一个新的Activity 第一步.新建一个继承Activity的类,如:MainActivity package com.ljq.activity;

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Android 子Activity组件在进程内的启动过程 && 子Activity组件在新进程中的启动过程

1.子Activity组件在进程内的启动过程 在Android Activity组件的启动过程http://blog.csdn.net/jltxgcy/article/details/35984557一文中,我们已经详细分析了Activity的启动过程,对于子Activity组件在进程内的启动过程,我们只分析它们之间的不同. 主要是2处,1是不需要创建新的任务栈,2是不需要创建新进程和子线程. 第1点,体现在如下代码上: -/Android/frameworks/base/services/ja

Android笔记(五十八)Android总结:四大组件——Activity篇

什么是Activity Activity是一种包含用户界面的组件,主要用于和用户进行交互,一个APP通常由多个Activity组成. 每个Activity都对应一个布局文件,通过setContentView()方法来载入布局文件.并且通过用户对布局文件中的组件所发出的事件来做出相应的反映. Activity的四种状态 1)激活状态,此时activity运行在屏幕前台 2)暂停状态,此时activity失去焦点,但是用户仍然可以看到(例如这个activity上遮盖了一个透明的或者非全屏的activ

Android组件之Activity

Activity总结 序言:Activity作为Android四大组件之一,其重要性不言而喻. 本文目录结构: 1.        Acticity是什么 2.        Activity的创建 3.        Activity的生命周期 4.        Activity的启动方式 5.        Activity 之间通信 6.        Activity 的 IntentFilter 7.        Activity的launchMode 一.Acticity是什么

详解 Android 的 Activity 组件

本文详细介绍了 Android 应用编程中 Activity 的生命周期.通信方式和 Intent Filter 等内容,并提供了一些日常开发中经常用到的关于 Activity 的技巧和方法.通过本文,你可以进一步了接 Android 中 Activity 的运作方式. 详解 Android 的 Activity 组件 Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 and

Android四大组件——Activity

Activity作为Android四大组件之一,也是其中最重要的一个组件.作为一个与用户交互的组件,我们可以把Activity比较成为windows系统上的一个文件夹窗口,是一个与用户交互的界面.再进一步说,当我们拿起Android打开拨号功能,显示出拨号盘的界面其实就是一个Activity:当然,可以更大范围的说,手机屏幕上显示的任何界面都是一个个Activity. 官方对Activity的描述 Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作,