Android的5大组件
1、 Activity组件
Activity组件通常的表现形式是一个单独的界面(screen)。每个Activity都是一个单独的类,它扩展实现了Activity基础类。这个类显示为一个由Views组成的用户界面,并响应事件。
打开一个新界面后,前一个界面就被暂停,并放入历史栈中(界面切换历史栈)。使用者可以回溯前面已经打开的存放在历史栈中的界面,也可以从历史栈中删除没有价值的界面。Android在历史栈中保留程序运行产生的所有界面,从第一个界面到最后一个。
2、 Intent组件
Android通过一个组专门的Intent类来进行界面切换。Intent描述程序向做什么。Intent类还有一个相关类IntentFilter。Intent用于请求要做什么事情,IntentFilter则描述了一个Activity(或下文的IntentReceiver)能处理什么意图。
优势:(1)Activities仅发出一个Intent请求,便能重用其他组件的功能。
(2)Activities可以随时被替换为有等价IntentFilter的新Activity
3、 Service组件
Service是一个没有UI且长驻系统的代码,最常见的例子是媒体播放器播放歌曲。
(1) 如何使用服务
在Android系统中有如下两种使用服务的方法:
1 通过调用Context.startService()启动服务,调用Context.stopService()结束服务。
2 通过调用Context.bindService()启动服务,调用Context.unbindService()结束服务,还可以通过ServiceConnection访问Service。
上述两种可以混合使用,例如可以先调用startService()再调用unbindService().
(2) Service的生命周期
在startService()后,即使调用startService()的进程结束了,Service还仍然存在,一直到有进程调用stopService()或者Service自己灭亡(stopSelf())为止。
在bindService()后,Service就和调用bindService()的进程同生共死。
当混合使用上述两种方法时,那么只有它们分别被stopService()和unbindService()了,这个service才会结束。
(3) 进程生命周期
Android系统将会尝试保留那些启动了或者绑定了的服务进程,具体说明如下:
1 如果该服务正在进程的onCreate() onStart() 或者onDestroy()这些方法中执行时,那么主进程将会成为一个前台进程,以确保此代码不会被停止。
2 如果服务已经开始,那么它的主进程的重要性会低于所有的可见进程,但是会高于不可见进程,由于只有少数几个进程是用户可见的,所以只要不是内存特别低,该服务不会被停止。
3 如果有多个客户端绑定了服务,只要客户端中的一个对于用户是可见的,就可以认为该服务可见。
4 Broadcast/Receiver组件
5 ContentProvider组件
Android的5大组件的更多相关文章
- 17.(转) Android之四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...
- ANDROID内存优化——大汇总(转)
原文作者博客:转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! ANDROID内存优化(大汇总——上) 写在最前: 本文的思路主要借鉴了20 ...
- Android Service即四大组件总结
原文转载自:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Service 服务: 一个Service 是一段长 ...
- ANDROID内存优化(大汇总——中)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...
- Android 基础 (四大组件,五大存储,六大布局)
Android四大组件: 参考:https://blog.csdn.net/shenggaofei/article/details/52450668 Android四大组件分别为activity.se ...
- android拾遗——四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...
- Android笔记(六十)Android总结:四大组件——BroadcastReceiver篇
什么是BroadcastReceiver BroadcastReceiver是Android体系的四大组件之一,本质上是一种全局的监听器,用于监听系统全局的广播消息,正式因为其本质为全局监听,因此可以 ...
- Android6_大致了解4大组件
一.Activity和View Activity是Android应用中负责与用户交互的组件. View是所有UI控件.容器控件的基类.View组件就是Android应用中用户实实在在看到的部分. Ac ...
- 【Android】安卓四大组件之Activity(二)
[Android]安卓四大组件之Activity(二) 前言 在这篇文章之前,我已经写过了一篇有关Activity的内容,是关于activity之间的页面跳转和数据传递,而这篇文章着重强调的是Acti ...
随机推荐
- 分享:录制gif小图片工具
今天博主分享一个录制gif小图片的工具[LICEcap]: 有的时候,图片解释起来不够直观,如果是一段小动画,别人一看就懂了. 工具我放在百度网盘上面,当然也可以自己在网上下载. 下载地址:http: ...
- Spring JdbcTemplate 方法详解
JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...
- Linux解压,压缩小总结
linux下打包与解压的三种命令 最近在读<鸟歌的Linux私房菜基础篇>,想着总结一下所读知识,有益于理解. Linux下常用的命令有三种 gzip,zcat(用于zip,gzip等) ...
- winform 多线程编程
参考资料: WinForm中新开一个线程操作 窗体上的控件(跨线程操作控件) c# 使用定时器Timer
- 条件编译#if #ifdef
近期由于一些莫名其妙的原因开始学c++,我觉得我哪天要是挂了也是被自己给折腾死的,算了,反正不是折腾死就是被淘汰,当是没事打发时间了,废话不多说,开始今天的主题. 之前接触的注释就是注释,条件语句就是 ...
- CSS隐藏多余文字的几个方法
通常偏移掉字体的方式是 (1)使用text-indent:-9999px; 可是他有一个局限性 他只适用于块级元素block而我们往往有时候想偏移掉的a上的字体所以问题就来了text-indent:- ...
- js的继承
js要实现继承有很多方法,个人总结大致分为三种: function people(){ this.specials = "人类"; } function p1(name){ thi ...
- html嵌入样式表
1.针对文件中的字体还有属性进行设置主要设置文字的大小及其颜色问题,未涉及div飘操作 处理页面CSS 先检测该内容部分是否已经设定了样式,如果没有单独设定再按照总体设计进行限定. eg: h1 h ...
- 多重网格法简介(Multi Grid)
原文链接 多重网格法是一种用于求解方程组的方法,可用于插值.解微分方程等. 从专业角度讲多重网格法实际上是一种多分辨率的算法,由于直接在高分辨率(用于求解的间隔小)上进行求解时对于低频部分收敛较慢,与 ...
- MapReduce的核心资料索引 [转]
转自http://prinx.blog.163.com/blog/static/190115275201211128513868/和http://www.cnblogs.com/jie46583173 ...