关于android中线程,进程,组件,app的理解
android系统是一座房子。有一个正常执行的公司进驻这所座子
cpu是这家公司的老板
进程是公司中的办公室,办公室不干活
线程是办公室中的员工,干活的永远是员工
一间办公室中可有多个员工,而且办公室有个活动对外的人员叫主线程
公司肯定会有非常多职能部门
activity service provider brocastrecive 都是职能部门
如今公司有个客户有个需求。须要几个部门合作才干完毕。于是公司的业务人员APP就跟老板申请了一间办公室来完毕客户需求工作
当然,为了工作更加有效率,有的部门可能须要单独的办公室也是能够的
以上就是对android中这几个概念的理解,总结一下:
android系统是多进程的。但不是越多越好,进程开得太多,系统会卡死
每启动一个app。系统都会为它开辟一个新进程,一般的,这个app中的四大组件都是执行在同一进程,且同一线程中
假设在mainifest.xml文件里配置组件的process (:XXX 为系统全局可共用进程 .XXX 为当前APP可共用进程)。那么该组件就能够独立执行在单独的进程中
所以,就出现了aidl技术。进程之间的通信
aidl是一种接口描写叙述语言,也可理解为java进程间的接口(interface)
直接编写一个java接口类,并将后缀后改为.aidl后编译,在gen文件夹下就会生成一个java类。而且这个类中有一个抽象类。在服务端实现这个抽象类,并通过onBind方法返回给client。就能够在client进程中用这个对象调用服务端进程中的方法。实现通信
由止能够看出aidl技术事实上与绑定服务使用方法是差点儿相同的,不同就是绑定服务是通过java文件来定义那个接口,而aidl是通过aidl文件来定义这个接口。而且经过測试。同一进程间当然也是能够用aidl,也就是说。绑定服务能够被aidl代替
说下service:
绑定服务,通过bundServcie方法调用。onBundService停用,而且当调用者销毁,比方一个activity中调用的。当这个aictivity销毁了,那么这个service也就销毁了
全局服务。通过startService方法调用,stopService停用,而且当调用者销毁。此服务还在执行,仅仅有当退出app时,此服务才销毁。当然,能够通过守护进程技术将些服务保持执行
以上仅仅是个人理解。如有错误之处,还请帮忙指点一二
关于android中线程,进程,组件,app的理解的更多相关文章
- Android中通过进程注入技术改动广播接收器的优先级
前言 这个周末又没有吊事,在家研究了怎样通过进程的注入技术改动广播接收器的优先级.关于这个应用场景是非常多的.并且也非常重要.所以就非常急的去fixed了. Android中的四大组件中有一个广播:B ...
- 详解Android中的四大组件之一:Activity详解
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...
- Android中通过进程注入技术修改广播接收器的优先级
前言 这个周末又没有吊事,在家研究了如何通过进程的注入技术修改广播接收器的优先级,关于这个应用场景是很多的,而且也很重要,所以就很急的去fixed了. Android中的四大组件中有一个广播:Broa ...
- android中使用spinner组件,以key,value的方式
接着上一篇文章的内容:android中使用spinner组件 稍做修改,以key,value的方式,在实际使用中,经常需要获取的值并不一定跟显示的内容一致. 需要先添加一个对象类,用来描述key,va ...
- Android中Broadcast Receiver组件具体解释
BroadcastReceiver(广播接收器)是Android中的四大组件之中的一个. 以下是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播 ...
- 【Android中Broadcast Receiver组件具体解释
】
BroadcastReceiver(广播接收器)是Android中的四大组件之中的一个. 以下是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播 ...
- 关于Android中的四大组件(Service的开启与关闭)
前言 服务(Service)是Android系统中的四大组件之中的一个.服务主要用于两个目的:后台执行和跨进程訪问. 通过启动 一个服务.能够在不显示界面的前提下在后台执行指定的任务,这样能够不影响用 ...
- Android中通过进程注入技术修改系统返回的Mac地址
致谢 感谢看雪论坛中的这位大神,分享了这个技术:http://bbs.pediy.com/showthread.php?t=186054,从这篇文章中学习到了很多内容,如果没有这篇好文章,我在研究的过 ...
- Android中线程和线程池
我们知道线程是CPU调度的最小单位.在Android中主线程是不能够做耗时操作的,子线程是不能够更新UI的.在Android中,除了Thread外,扮演线程的角色有很多,如AsyncTask,Inte ...
随机推荐
- CSS的常用属性(一)
文本属性 font-size: 16px 文字大小 font-weight: 700 文字粗细 值从100-900 (值为700看上去加粗了) 不推荐使用font-weight: bold font- ...
- ie8及其以下版本兼容性问题之响应式
解决办法:引入Respond.js让IE6-8支持CSS3 Media Query 使用方式 参考官方demo:http://scottjehl.github.com/Respond/test/tes ...
- Deutsch lernen (02)
1. fließend a. 流利的 Meine französische Freundin spricht fließend Deutsch. 流动的 Der Verkehr wickelt ...
- chown chmod chgrp chattr chroot usermod 命令简单分析
chown用于修改文件或目录的所属主与所属组,格式为:“chown [参数] 所属主:所属组 文件或目录名称”.[root@localtion ~]# chown root:bin test[root ...
- ROS: Ubuntu16.04安装ROS-kinetic
参考连接:SLAM: Ubuntu14.04_Kylin安装ROS-Indigo第一步: 软件源配置 1. 增加下载源(增加ubuntu版的ros数据仓库,即下载源)(通用指令适合任何版本的ros) ...
- Redis 之list链表结构及命令详解
1.lpush key value 从左放一个值 2.rpush key value 从右放一个值 3.lrange key start stop 获取链表数据(start ...
- 不能访问windows installer 服务,可能你在安全模式下运行 windows ,或者windows installer
windows installer服务解决方案 很多朋友在安装MSI格式的文件包时,经常会遇到windows installer出错的情况,有如下几种现象: 1.所有使用windows install ...
- Office 2013 提示找不到 Office.zh-cn\XXXXX
1.先卸载Office 2013(已经卸载了的无视这一步)2.卸载Office 2013 后把C:\ProgramData\Microsoft\OFFICE文件删掉.3.删除下列注册信息1).依次点击 ...
- linux中tomcat启动脚本:关闭、发布、重启、测试是否成功
说明 在使用jenkins持续集成时,需要实现自动发布包到tomcat.该脚本实现了在jenkins将包发送到linux服务器上后的自动关闭.发布.启动.测试启动是否成功的过程 思路 该思路以tomc ...
- BOS工具之BOS应用框架
大纲: 应用框架概述,bos应用框架总体,bos应用框架详细设计,代码结构以及常用应用,开发常用接口 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象组件及组件实例间交互的 ...