1.Activity的生命周期

生命周期这个事情,是android工程师最基础的知识,所以今天要讲的是一些不一样的东西。

1.1 OnStart,OnResume,OnPause,OnStop 他们的区别是什么?

OnStart & OnStop, 这一对发生的时候,页面已经显示,但是处于backgroud的状态,所以用户无法看到。

OnResume & OnPause,发生在用户可以看到页面,也就是从后台到前台。

OnPause->OnStop,如果下个页面是透明的,OnStop不会被呼叫。

2.Activity的启动flag

4大启动模式,也是最基本的知识,。

只有activity可以启动其他的

application 启动activity,由于没有历史栈,需要加flag:FLAG_ACTIVITY_NEW_TASK

这样这个activity会存在一个新task

FLAG_ACTIVITY_NEW_TASK:这个标志同singtask launchmode的效果一样。

FLAG_ACTIVITY_SINGLE_TOP:这个标志同singletop 效果一样。

FLAG_ACTIVITY_CLEAR_TOP: 会把在task 栈上面的activity,出栈。

3.intentFilter

intentFilter是用于隐式调用的,显示调用&隐式调用同时存在,将以显示调用为准

intentFilter有三个部分组成:action,category,& data

一个activity可以有几组intentFilter,只要匹配一个,就可以启动activity

但是必须同时瞒住action,category & data的匹配,才能保证activity被启动。

同一个intentFilter可以有几个action,只要满足一个就可以,同理category & data也是。

Action:action的字串,必须完全一致,才能算作匹配。

Category:category可以有多个,但是每一个都必须同 intentFilter的某一个匹配。Category也可以为空,这样系统会默认为我们加上action.intent.category.DEFAULT 这样就要求每个支持隐式调用的activity,都必须有action.intent.category.DEFAULT

Data:data的匹配规则跟action相似。只要匹配一个元素,但是必须使用setdataandType 方法来设定。Setdata & setType这2个方法是互斥的。

当我们在使用隐式启动activity的时候,可以先使用PackageManager的resolveActivity 或者Intent的resolveActivity,在查询的时候,需要加flag:MATCH_DEFAULT_ONLY

还有一个特殊的页面:action = android.intent.action.MAIN  category=android.intent.category.LAUNCH缺一不可

Activity的生命周期& 启动模式的更多相关文章

  1. android83 Activity的生命周期,启动模式,返回时传递数据

    #Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Act ...

  2. Day2 Activity生命周期/启动模式/最佳实践

    Android是使用任务(Task)来管理活动的,这个栈被称作返回栈(Back Stack). Activity类中定义了7个回调方法: onCreate().在活动第一次被创建时调用,应该在这个方法 ...

  3. 十分钟掌握Activity的生命周期与启动模式

    1. Activity的生命周期 正常情况下的Activity生命周期如下图所示(来自Android Developer): 当资源相关的系统配置变更时(比如设备屏幕方向改变,键盘可见性变化),会导致 ...

  4. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  5. Android开发艺术探索(一)——Activity的生命周期和启动模式

    Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...

  6. 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式

    第1章 Activity的生命周期和启动模式 1.1 Activity生命周期全面分析 1.1.1 典型情况下生命周期分析(1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRes ...

  7. Activity的生命周期和启动模式

    Activity的生命周期分析 典型情况下的生命周期.是指在用户参与的情况下,Activity所经过的生命周期的改变. 异常情况下的生命周期.是指Activity被系统回收或者由于当前设备的Confi ...

  8. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  9. 一、Activity的生命周期和启动模式

    1.Activity的生命周期 1.1.典型情况下的生命周期 在有用户参与的情况下,Activity所经过的生命周期的改变. Activity会经历如下生命周期: onCreate-onRestart ...

随机推荐

  1. html中的title和alt

    alt是html标签的属性,而title既是html标签,又是html属性. title标签这个不用多说,网页的标题就是写在<title></title>这对标签之内的.tit ...

  2. wer

    概述 快速入门流程: 使用叮当扫码产品请遵循以下操作步骤: 1. 新建项目信息 2. 新建产品信息 3. 添加发货产品 4. 发货 5. 收货 (具体使用操作请查看详细的使用说明) 文档目的: 本文档 ...

  3. Bootstrap fileinput:文件上传插件的基础用法

    官网地址:http://plugins.krajee.com/ 官网提供的样例:http://plugins.krajee.com/file-input/demo 基础用法一 导入核心CSS及JS文件 ...

  4. 【转】对GAMIT/GLOBK的基本认识

    1.1   GAMIT/GLOBK软件可从网络上申请下载.该软件功能强大,用途广泛,一般包括精确定位,大气层可降水汽估计和空间电离层变化分析等.后两种用途只需要用到GAMIT模块,精确定位则还需要GL ...

  5. Struts2实现文件下载

    实现文件下载: 1.导包:commons-fileload-xx.jar commons-io-xx.jar 2.jsp页面: <s:iterator value="#session. ...

  6. 10个实用的 Linux 网络和监控命令[转]

    本文列出了10个基础的每个Linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslooku ...

  7. History对象和location对象

    history对象 History对象包含用户在浏览器窗口中访问过的url.不是所有浏览器都支持该对象. 属性length   返回浏览器历史列表中的URL数量. 方法:back() 加载histor ...

  8. [DeeplearningAI笔记]Multi-class classification多类别分类Softmax regression_02_3.8-3.9

    Multi-class classification多类别分类 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.8 Softmax regression 原有课程我们主要介绍的是二分分类( ...

  9. jupyter扩展插件Nbextensions使用

    本节主要解释jupyter中各种插件 原创文章,转载请务必注明原作者出处:http://www.cnblogs.com/cloud-ken/p/7401534.html Exercise Exerci ...

  10. 安装phpredis-master步骤备忘

    下载软件包下载地址: http://pan.baidu.com/s/1i37R8TB 解包 tar -zxvf phpredis-master.tar.gz cd phpredis-master /o ...