Android应用程序四大组件之Activity(一)

在介绍Activity之前,有必要清楚android系统四个基本概念.

  • Applications 
  • Activities 
  • Activity Stack 
  • Tasks

     

    Applications

    一个Application可以由多个Activity组成,像android提供的默认应用程序Email,Google Map,Brower,等都是Application.

    Application有四大组件:Activity, Content provider,Service,Broadcast Receiver接下来会一一介绍这四个组件.

    Activities 

    Activity是application的主体.例如Android默认的Dialer application分别有四个Activity: dialer, contacts list, view contact, and  new contact.

    Activity Stack

    .每次我们启动一个新的Activity都会被添加到Activity Stack,按Back按钮就会做退栈操作.且只有Activity会进行这个操作.view.windows,menus,dialog都不行.

    Tasks

    我的理解是让Activity Stack更有"型",就是一个队列,这个队列里Activity是队列的元素

     

    通过下图模拟一个操作.更了解Tasks吧

    我们启动Contacts程序,首先显示的是List Contacts,这时Home Activity被压入栈底(此图模拟用户操作,按栈的话要倒着看)List Contacts添加至Activity Stack,

    接下来操作点击联系人详细信息,编辑联系人.修改头像,选择头像,这一系列的操作.每个Activity会进入进栈操作. View Contact->EditContact->List Pictures->Crop Picture这就形成了Contacts Task.

    接下来我们点击Back按钮.或者Home按钮有一定的区别.

    点击Back按钮就会进行退栈操作.当前的Activity就会被销毁掉.

     点击Home按钮当前的Activity不会被Destroy,且记录Activity的state状态,即最后一次操作的记录,如我们再启动Activity,当前的滚动滑块会在最后操作的状态,而不是初始化在最顶端的状态

     

     

    Application Activity Task三者关系通过下图(图源来自Androidres.com)更能直观的理解

     

    Activity的四种加载模式(launch mode)

    参考资料:

    launch mode 详解

    launch mode 总结

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值