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 ...
随机推荐
- Coding编译连接过程中遇到的问题及解决方法(iOS)
Coding 上下载地址:https://coding.net/u/coding/p/Coding-iOS/git Github源码下载地址:https://github.com/Coding/Cod ...
- Spring3.0目录
(1)Spring 入门知识 (2)IoC/DI基本思想的演变 (3)深入理解IoC/DI (4)Spring的简单demo
- 2015.4.24 移动端,chrome不兼容或无法运行的一些具体问题
1.table内input,把它的边框和focus边框都变成透明,在ff可行,但是chrome会有样式,怎么解决? 解决方法:border:none;outline:0; 2.如下代码,css3动画在 ...
- bzoj1441 MIN
Description 给出n个数(A1…An)现求一组整数序列(X1…Xn)使得S=A1*X1+…An*Xn>0,且S的值最小 Input 第一行给出数字N,代表有N个数 下面一行给出N个数 ...
- Apple Watch版微信来了 收发微信刷朋友圈不在话下
昨晚果粉守了一夜的Apple Watch发布会,意料中的惊喜不少,最让人兴奋的是微信成为首批支持的应用.是的,在全球拥有4.68亿月活跃用户的微信怎么可能不第一时间入驻呢?之前我们就有聊过Apple ...
- Windows下,MySQL root用户忘记密码解决方案
同时打开2个命令行窗口,并按如下操作: <1>.在第一个“命令行窗口”输入: cd D:\Program Files\MySQL\MySQL Server 5.5\bin net sto ...
- ASP.NET Core--基于授权的视图
翻译如下: 开发人员通常希望基于当前用户身份显示,隐藏或以其他方式修改UI. 您可以通过依赖注入访问MVC视图中的授权服务. 将授权服务注入Razor视图,请使用@inject指令,例如: @inje ...
- 加速android源码编译
添加缓存环境变量 : 在 ~/.bashrc 环境变量文件中 添加 export USE_CCACHE=1环境变量, 加速随后的编译过程; 分配缓存磁盘大小 为 ccache 指定磁盘中的一部分大小, ...
- javascript实现简单多文件上传
该上传功能主要用到html5新属性FormData,通过XMLHttpRequest对象send到服务器,支持文件多选和多次选择.文件去重.移除已选文件等 1.html代码 <div class ...
- 关于kali2.0 rolling无法连接数据的解决办法
在使用kali2.0时,经常遇到metasploit无法连接数据库的问题,经过在网上寻找资料,很多都是对kali2.0的,有些路径都是不同的了,所以未能解决, 最后在自己的摸索下,找到了如下方法: 其 ...