• 【原创】Activity 概念介绍(大全)


    【面向人员】:立志于安卓开发的所有人员,做到真正的从零基础起步;
    【教程说明】:本教程在内容上保证原创、简洁、详细,在附件链接上保证可用、最新、完整;
    【回帖说明】:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此开源、分享、共进。

    1、Activity 是什么?

    Activity 程序是 Android 程序的基本组成单元,是Android 应用层开发的四大组件之一。

    2、Activity 作用是什么?

    从通俗角度上来讲:Activity 是用户与 Android 应用程序交互的接口,通过这个组件中可以放置各种控件。
    设计层面上来讲:功能类似于Mvc设计模式中的Controller控制层,在Android中,通过Activity选择要显示的View,从View中获取数据然后传给Model层进行处理,最后显示出来。

    3、Activity 的四种状态是什么?

    Active/Runing:手机当前显示的屏幕界面,也就是Activity 可见并可交互的激活状态;
    Paused: 当被其它Activity 覆盖时的状态,依然保持连接、可见,但是不可交互状态;
    Stoped: 当被其它Activity覆盖时的状态,依然保持连接,不可见不可交互的状态;
    Killed: Activity 被系统杀死回收,,与系统断开连接,不可见不可交互的状态。
    更多信息:原帖转载地址

    4、什么是 Activity栈

    Android 通过 Activity 栈来管理 Activity 的,Activity 实例的状态决定它在栈中的位置,手机当前显示的屏幕界面总是在栈的顶端,当顶端的界面被销毁或者异常时,处于栈第2层的Activity将被激活,上浮到栈顶,也就是第二层的Activity将要上升到手机当前屏幕界面。反之,如果启动新的Activity入栈的时候,原顶端Activity会被压入栈的第二层。

    5、Activity 的生命周期有哪些?

    onCreate: 创建界面调用,进行初始化数据工作;
    onStart: 一般在onCreate方法之后被调用,进入到可见不可交互的状态,;
    onResume: Pause和Active状态互转的时候调用,进入用户可交互的的状态;
    onPause: 暂停时调用,进行可见不可交互状态,系统会停止Activity一些工作;
    onDestroy: 结束或者kill时调用,一般进行释放资源、清理内存等工作;
    onStop: 被其它Activity覆盖时调用,变得不可见不可交互状态。

    6、Activity 加载模式有哪些?

    standard:就是intent(为组件提供交流通讯描述的相关信息)将发送给新的实例,所以每次跳转都会生成新的activity;

    singleTop:也是发送新的实例,但不同standard在于请求的Activity正好位于栈顶时,不会构造新的实例;

    singleTask:当intent到来需要创建singleTask的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它;

    singleInstance:singleInstance模式就是将该Activity单独放入一个栈中,这样这个栈中只有这一个Activity,不同应用的intent都由这个Activity接收和展示,这样就做到了共享。

    7、Activity 启动顺序是怎样的?

    7.1、一个Activity的启动顺序:onCreate()
         -> onStart()
         -> onResume()

    7.2、当另一个Activity启动时: 第一个Activity onPause()
         -> 第二个Activity onCreate()
         -> onStart()
         -> onResume()
         -> 第一个Activity onStop()

    7.3、当返回到第一个Activity时:第二个Activity onPause()
         -> 第一个Activity onRestart()
         -> onStart()
         -> onResume()
         ->第二个Activity onStop()
         -> onDestroy()

    7.4、一个Activity的销毁顺序:

         7.4.1、onPause() -> <Process Killed>

         7.4.2、onPause() -> onStop() -> <Process Killed>

         7.4.3、onPause() -> onStop() -> onDestroy()

    8、其它说明:本节是概念性介绍,了解即可,为后续安卓开发打点小基础。

    9、原帖转自:http://www.try8.cn/thread-513-1-1.html

    10、励志成为博客园大牛,喜欢就关注推荐我吧,哈哈。

  • 相关阅读:
    XMPP资源绑定(Resource Binding)与单台设备登录控制
    解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法
    quartz做集群配置较短的时间间隔会重复执行任务的问题
    同一服务器部署多个tomcat时的端口号修改详情
    Java RSA加密算法生成公钥和私钥
    CSS3动画(重要)
    CSS3 过渡
    CSS3 3D 转换
    CSS3 2D 转换
    CSS3 文本效果(阴影)
  • 原文地址:https://www.cnblogs.com/try123/p/4334505.html
Copyright © 2020-2023  润新知