一.Activity生命周期

1.生命周期调用方法

onCreate():创建视图,传递一个保留此Activity上一状态的Bundle的参数。

onStart():在此Activity显示在前台前调用。

onResume():Activity可见,获得焦点与用户交互。

onPause():启动其他Activity时调用,通常用于保存数据,释放资源。

onStop():当Activity不可见时调用,时刻是在Activity需要销毁或者被其他Activity取代显示。

onDestory():Activity调用finish()h后,销毁Activity实例。

2.Activity的4种状态

<1>活动状态(Active)处于栈顶,可见有焦点。

<2>暂停状态(Pause)可见无焦点,透明或非旋屏view覆盖其上。

<3>停止状态(Stoped)不可见。

<4>非活动状态(Inactive)Activity被杀或者还未启动。

3.Activity的启动模式

<1>standard:默认模式,产生新的实例压入task栈。

<2>singleTop:如果Activity已位于栈顶就不创建,否则新建实例压入栈,“拒绝重叠”。

<3>singleTask:同一个Task内只允许有一个Activity实例,如果栈内没有activity实例则新建压入,否则系统将其上所用Activity移除,调用onIntent()新建一个实例。

<4>singleInstance:若目标Activity不存在,先创建一个全新的Task,将之压入栈顶。如果已经存在,将activity所在的栈移到前台显示出来。

二.Service

1.生命周期调用方法

onCreate()->onStart()/onBind()->onDestory() 只有onstart方法可能被多次调用。

onStart()方法开启的Service与调用者没有直接的方法进行通讯,调用者死亡仍然运行。

onBind()方法开启的Service与调用者可以通过ServiceConnection建立连接进行通讯,调用者死亡则Service死亡。

三.BrodcastReceiver

生命周期只有十秒左右,如果在onReceiver()做超过10秒的事就会ANR,一个BrodcastReceiver对象只有在被调用onReceiver()才是有效的,返回后结束生命周期。

流程:BrodcastReceiver通过Binder机制向AMS(Activity Manager Service)进行注册,广播发送者通过Binder向AMS发送广播,AMS查找符合条件的BrodcastReceiver,

加入相应的消息循环队列,消息循环拿到此广播,回调BrodcastReceiver中的onReceiver();

注册类型:

静态:app退出也可工作   动态注册:与宿主生命周期相关。

广播类型:

普通广播,系统广播,有序广播(根据priority属性值接收广播,priority值大的BrodcastReceiver可以中断或修改广播)

四.ContentProvider

底层采用Android中的Binder机制

<1>统一资源标识符(URI)自定义URI = content://授权信息/表名/记录

<2>核心方法insert,delete,update,query

<3>ContentResolver类
   
   统一管理不同BrodcastReceiver之间的操作,提供了与BrodcastReceiver同名&作用的4个方法。

<4>UriMatcher类

步骤1:UriMatcher matcher = new UriMatcher(UriMatcher.NO.MATCHER);
   步骤2: int uri_code_a = 1;
           matcher.addURI(授权信息,表名,uri_code_a);

<5>ContentObserver

观察uri引起的contentProvider中的数据变化&通知外界。

Android四大组件生命周期相关推荐

  1. 重温Android四大组件(一)—Activity的生命周期

    前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...

  2. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  3. Android开发之旅:组件生命周期(二)

    引言 应用程序组件有一个生命周期--一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...

  4. Android 四大组件之——Service(一)

    一.什么是服务 服务,是Android四大组件之一, 属于 计算型组件.   长期后台运行的没有界面的组件 ,特点是无用户界面.在后台运行.生命周期长 二,什么时候使用服务? 天气预报:后台的连接服务 ...

  5. Android 四大组件之——Acitivity(一)

    一,什么是Activity activity是Android组件中最基本也是最为常见用的四大组件之一.Android四大组件有Activity,Service服务,Content Provider内容 ...

  6. Android——四大组件、六大布局、五大存储

    一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...

  7. Android四大组件---BroadcastReceiver

    前言: BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于B ...

  8. android的四大组件及使用场景,Android/四大组件/Activity.md · BoraxZYF/AndroidInterview - Gitee.com...

    ## 四大组件 ## Activity ### Activity 的四种启动模式及使用场景 - standard 标准模式,Activity 的默认启动模式.每次启动一个 Activity 时都会创建 ...

  9. 下面不是android四大组件之一的是,Android四大组件之一 Service

    Service是长期在后台运行的没界面的Android四大组件之一,默认是运行在主线程中的,如果在service中执行耗时操作超过20秒没响应的话就会造成ANR,所以可以使用IntentService ...

最新文章

  1. 企业轻资产化趋势难挡,易点租适时而起未来可期
  2. atlas和ajaxpro以及微软企业级类库在一起得web配置文件
  3. python函数参数定义顺序_[python]函数默认参数顺序问题
  4. C++ 类的深拷贝与浅拷贝||深拷贝通过重载拷贝构造函数与重载赋值运算符实现
  5. DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
  6. opcenum在计算机服务找不到,OPC DCOM 问题处理
  7. 【C#】VS 2017 如何创建项模板---自动添加头部注释
  8. 【操作系统】对换、分页和分段方式-思维导图
  9. Go 编码建议——项目布局
  10. 从0到1打造一款react-native App(二)Navigation+Redux
  11. Linux-系统编程-知识点概述
  12. 把合数分解成若干个质因数相成
  13. 计算机里的e盘 不能应用,我的电脑里的e盘打不开是怎么回事
  14. Android MTK flash兼容
  15. 神奇的λ-calculus
  16. Android音频播放器
  17. Windows和Xyplorer的完美结合
  18. 腾讯云web应用防火墙(WAF)防护设置步骤介绍
  19. 中文分词软件包的使用
  20. 后台利用aop注解的方式防止重复提交

热门文章

  1. 有多久没有这么疯狂了?
  2. A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测
  3. 前端js调用摄像头进行录像并传到后端
  4. 自然的密码---36幅由算法生成的六芒星图像
  5. 计算机二级试题word,计算机二级考试word试题及答案.doc
  6. fpga卷积神经网络加速器,FPGA卷积神经网络综述
  7. 三:Sensor SLPI层代码分析---
  8. 43、总建筑面积大于20000㎡的地下或半地下建筑的防火要求
  9. 【C语言】实现简单的计算器
  10. (附源码)springboot毕业论文管理系统 毕业设计 030946