阅读Android官方文档 之应用程序组件——Activity(一)

  

哈哈 从官方文档开始,慢慢成长—


以下都是我自己阅读完记下的之前不太明白,或者不知道的笔记吧算是。疑问

      ①每当启动一个新的Activity,那么之前的被停止。但系统会把它压入一个栈(back stack 即 ‘后退栈’),当一个新的Activity启动,它将被放到栈顶并获得用户焦点。后台栈遵循后进先出的栈机制。所以当用户 执行完当前页面操作按下返回按钮时,它将被pop出栈(并销毁),之前的activity将被恢复。

(后退栈是什么鬼,后进先出机制。哦~~仔细想想,得意很有道理)


    ②在配置文件中声明activity
             使用filter <activity> 可以用很多<intent-filter>来指定其他组件怎么激活它

        <action> 元素指定程序的入口

        <category> 指出该activity应该被列如系统的启动器(launcher)(允许用户启动它)

(具体可以参考 http://blog.csdn.net/weihan1314/article/details/7973511 很详细哦 感觉 虽然我只是大概看了一眼偷笑


③启动一个带返回结果的activity
         使用startActivityForResult()替代startActivity()。然后通过实现onActvityResult()回调方法来获得返回的结果。当这个后续的activiyt被关闭时,它将发送一个Intent给onActivityResult()方法。
        使用onActivityForResult()基本步骤
         1,判断resultCode是不是 Activiyt.RESULT_OK
         2,  判断这个响应是不是针对相应的请求,只需要判断requestCode是不是等于发送时 startActivityForResult()第二个参数。
         3,最后查询返回的Intent中的data信息(使用ContentResolver开启了一个查询)

(算是很基础了,我看到开启一个查询? ContentResolver? 这是啥? 尴尬我先记下这个单词)


④ 管理activity生命周期
          activity可能处于基本状态
         1,Resumed :activity在屏幕的前台并且拥有用户的焦点。(这个状态有时也叫做“running“)
        2,Paused : 另一个activity在前台拥有焦点,但是本activity还是可见的。也就是说另一个activity覆盖在本acativity上,并且另一个activity是部分透明或没有覆盖整个屏幕。一个paused的activity是完全存活的(Activity对象仍然保留在内存中,它保留着所有状态和成员信息,并且保持与window manager的联接),但在内存严重不足的情况下能被杀死。
         3, Stopped :本activity被其他activity完全遮挡住了(本activity在后台),一个stopped的activity也仍然是存活的(Activity 对象仍然保留在内存中,它保持着所有的状态和成员信息,但是不再与window manager联接了)

(paused stopped activity对象还保持所有状态和成员信息 一个链接 stopped不链接了 嗯~~~

     其实还有一个,在看完才知道的 onpause()的作用,在用户离开activity时在里面保存永久性数据 比如 一些需要存入数据库中的数据 嘿)

  

今天,先看到这了,慢慢来。哦 还有看到 很多 关于保存activity状态的 ,虽然我大概知道 但是,感觉理解的更透彻了一些。

最后一句 检测一个应用程序状态恢复能力最好的方法就是旋转设备。摇起来? 生气

     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值