Android四大组件生命周期
一.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四大组件生命周期相关推荐
- 重温Android四大组件(一)—Activity的生命周期
前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
- Android开发之旅:组件生命周期(二)
引言 应用程序组件有一个生命周期--一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...
- Android 四大组件之——Service(一)
一.什么是服务 服务,是Android四大组件之一, 属于 计算型组件. 长期后台运行的没有界面的组件 ,特点是无用户界面.在后台运行.生命周期长 二,什么时候使用服务? 天气预报:后台的连接服务 ...
- Android 四大组件之——Acitivity(一)
一,什么是Activity activity是Android组件中最基本也是最为常见用的四大组件之一.Android四大组件有Activity,Service服务,Content Provider内容 ...
- Android——四大组件、六大布局、五大存储
一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...
- Android四大组件---BroadcastReceiver
前言: BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于B ...
- android的四大组件及使用场景,Android/四大组件/Activity.md · BoraxZYF/AndroidInterview - Gitee.com...
## 四大组件 ## Activity ### Activity 的四种启动模式及使用场景 - standard 标准模式,Activity 的默认启动模式.每次启动一个 Activity 时都会创建 ...
- 下面不是android四大组件之一的是,Android四大组件之一 Service
Service是长期在后台运行的没界面的Android四大组件之一,默认是运行在主线程中的,如果在service中执行耗时操作超过20秒没响应的话就会造成ANR,所以可以使用IntentService ...
最新文章
- 企业轻资产化趋势难挡,易点租适时而起未来可期
- atlas和ajaxpro以及微软企业级类库在一起得web配置文件
- python函数参数定义顺序_[python]函数默认参数顺序问题
- C++ 类的深拷贝与浅拷贝||深拷贝通过重载拷贝构造函数与重载赋值运算符实现
- DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
- opcenum在计算机服务找不到,OPC DCOM 问题处理
- 【C#】VS 2017 如何创建项模板---自动添加头部注释
- 【操作系统】对换、分页和分段方式-思维导图
- Go 编码建议——项目布局
- 从0到1打造一款react-native App(二)Navigation+Redux
- Linux-系统编程-知识点概述
- 把合数分解成若干个质因数相成
- 计算机里的e盘 不能应用,我的电脑里的e盘打不开是怎么回事
- Android MTK flash兼容
- 神奇的λ-calculus
- Android音频播放器
- Windows和Xyplorer的完美结合
- 腾讯云web应用防火墙(WAF)防护设置步骤介绍
- 中文分词软件包的使用
- 后台利用aop注解的方式防止重复提交
热门文章
- 有多久没有这么疯狂了?
- A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测
- 前端js调用摄像头进行录像并传到后端
- 自然的密码---36幅由算法生成的六芒星图像
- 计算机二级试题word,计算机二级考试word试题及答案.doc
- fpga卷积神经网络加速器,FPGA卷积神经网络综述
- 三:Sensor SLPI层代码分析---
- 43、总建筑面积大于20000㎡的地下或半地下建筑的防火要求
- 【C语言】实现简单的计算器
- (附源码)springboot毕业论文管理系统 毕业设计 030946