June 25,2014---->Binder(IPC),Dalvik ,DEX/ODEX
1.Binder(IPC)
Linux进程之间要能够互相通信,从而共享资源和信息。所以,操作系统内核必须提供进程间的通信机制(IPC,Inter-Process Communication)。
IPC机制种类:采用命名管道(name pipe),消息队列(message queue),信号(signal),内存共享(share memory);
在Android终端上的应用软件的通信几乎看不到这些IPC通信方式,取而代之的是Binder方式。
Binder是通过Linux的Binder Driver 来实现的,Binder操作类似于线程迁移(Thread migration),两个进程间通信看起来就像是一个进程进入另一个进程去执行代码,然后带着执行的结果返回。SEE MORE>
2.Android 为什么一开始要引入 Dalvik 虚拟机机制?
Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是一个Android运行时的一部分,作用在于连接底层核心、周边库与上层应用,提供更多的自动管理功能:

3.Art取代Dalvik
在Kitkat中Art模式可以在「开发者选项」中切换,但是Sony的4.4并没有添加这个选项。原因是应用需要被优化,否则面临兼容性不好的风险,而优化会延缓新系统的发布时间。
ART模式比Dalvik要快,但是也有一些缺点:
1.会增加程序占用的存储空间(不是很多)。
2.会更耗电。
不过这些也许只是暂时的。下一版本的Android会正式移除Dalvik。
4.DEX和ODEX的区别
ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个.odex文件单独存放,原APK中的classes.dex文件会保留。
这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。
注意:/system/app中的apk文件中没有dex文件(如下图,左边的SemcClock.apk是从系统中pull出来的),我们知道dex是Android的可执行文件(/data/data/<package name>/下面有dex,是程序第一次运行的时候生成的)。
这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的(安装提示「解析包时出现问题」)。

5.platform.x509.pem和platform.pk8的用处
QUOTE:
很多网友可能需要访问一些系统敏感的设置信息,如果没有Root权限如何解决呢? platform.x509.pem和platform.pk8可以让你获得系统权限,Android在系统账户安全中使用了Linux的ACL控制方式,通过在每个App中使用sharedUserId设置即可共享系统账户权限,比如android:sharedUserId=”android.uid.system” 这样就是用了system这个uid了。 SEE MORE>>
这种方法早就听说过,用SHARE UID得到系统级权限,没试过,不知在Kitkat以及以后版本是否适用。
So much for today.
9:35PM
June 25,2014---->Binder(IPC),Dalvik ,DEX/ODEX的更多相关文章
- Handler消息机制与Binder IPC机制完全解析
1.Handler消息机制 序列 文章 0 Android消息机制-Handler(framework篇) 1 Android消息机制-Handler(native篇) 2 Android消息机制-H ...
- SEAndroid安全机制对Binder IPC的保护分析
在SEAndroid安全机制中,除了文件和属性,还有Binder IPC须要保护.Binder IPC是Android系统的灵魂,使用得相当广泛又频繁.比如,应用程序都是Binder IPC请求訪问系 ...
- Android Binder IPC详解-Android学习之旅(96)
linux内存空间与BInder Driver Android进程和linux进程一样,他们只运行在进程固有的虚拟空间中.一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间 ,用户空间是 ...
- Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制?
目录: Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制? Android : 跟我学Binder --- (2) AIDL分析及手动实现 ...
- Binder IPC的权限控制
PS:个人理解:当进程1通过Binder调用组件2时,会将进程1的pid及uid赋给组件2,并检测进程1的pid及uid是否有权限调用组件2.而后组件2需要调用组件3,此时组件2保存的pid及uid为 ...
- 涵涵和爸爸习惯养成进度表(三)(June 25 - )
规则说明 23天内,没有哭脸,不超过三个无表情脸,可以给一个奖励(动画书等) 涵涵违反规则,在爸爸和妈妈都同意的情况下,可以给无表情脸 爸爸违反规则,在妈妈和涵涵都同意的情况下,可以给无表情脸 获奖记 ...
- Android 各版本信息 (维基百科)
The following tables show the release dates and key features of all Android operating system updates ...
- Eclipse 安装需要的 JDK 版本简要说明
Eclipse 4.6 (Neon) Eclipse 4.6 (Neon)is scheduled for release on June 22, 2016. Consider using the I ...
- eclipse版本对应的jdk版本
Installing Eclipse is relatively easy, but does involve a few steps and software from at least two d ...
随机推荐
- HDU2256-Problem of Precision(矩阵构造+高速幂)
pid=2256">题目链接 题意:求sqrt(sqrt(2) + sqrt(3)) ^ 2n MOD 1024 思路: 代码: #include <iostream> # ...
- 【IE】IE对line-height 失效的的解决方案
微软的IE9 + Extjs3.1 确实头疼.在使用了line-height:20px 的Tree的样式,可是一直没有生效, 以下给出3中解决方式: 方案1.加padding-top: <div ...
- 百科知识 STEP文件如何打开
使用任何的主流三维设计软件Pro/E.UG.CATIA.Solidworks等等都可以直接打开. STEP文件是通用格式,但是在打开的时候不同软件会生成不同的文件,下面是Solidworks打开的效果 ...
- GOOGLE VR SDK开发VR游戏,VR播放器之中的一个
近期一年来,VR虚拟现实和AR增强现实技术的宣传甚嚣尘上.事实上VR,AR技术非常早就有了,一直没有流行开来.不可否认价格是影响技术推广的最大壁垒. 谷歌对VR最大的贡献是提供了便宜的谷歌眼镜,依照G ...
- PHP读取远程文件的4种方法
1. fopen, fread1 if($file = fopen("http://www.example.com/", "r")) {2 while(!feo ...
- Python自动生成文章
为了应付某些情况,需要做17份记录.虽然不很重要,但是17份完全雷同也不很好.大体看了一下,此记录大致分为四段.于是决定每段提供四种选项,每段四选一,拼凑成四段文字,存成一个文件.文件名就叫“XX记录 ...
- 改动UITextfield的Placeholder字体的颜色
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- 腾讯云centos,nginx安装
- 顺序容器vector,deque,list的选用规则
前言 常见的顺序容器主要有三种 - vector,deque,list.它们实现的功能相差不大,那么实际开发中该如何进行选择呢?本文将为你解答这个问题. 分析 由于这三种容器实现的数据结构原型不同(v ...
- 模式匹配之尺度空间---scale space
转载:http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html 主要步骤 1).尺度空间的生成: 2).检测尺度 ...