安卓执行机制JNI、Dalvik、ART之间的比較 。android L 改动执行机制。
Android L默认採用ART执行环境。全然兼容64位移动处理器。Google称这将比此前的Dalvik模式性能提高两倍,可是会占用很多其它的内存空间。Android有三种执行模式:JNI、Dalvik、ART。Dalvik明显是最慢的,全然的JNI模式是最快的可是开发难度高,ART介于两者之间。而且不影响现有开发模式,所以Google选了ART。我们的技术project师对此做了技术解读:
1)JNI:在开发过程中使用编译器在C/C++等语言直接编译成机器码。执行的时候可以充分利用系统性能,这是最快的。iOS的Object C和Android 的NDK都是这样的模式。
2)Dalvik:Android L系统之前全部Android版本号的执行方式,採用的是字节码。在执行的时候解释执行变成机器可以识别的机器码。这个过程是比較缓慢的。
3)ART:Android 4.4開始推出的新的执行环境,在APP安装的时候使用dex2oat工具直接把DEX文件转换为机器码文件,执行的时候以机器码方式执行,可以充分利用系统性能;此外。改进的内存回收机制使得ART执行模式下的内存回收速度仅仅有Dalvik执行时模式下的50%。也可以提升系统执行速度。

尽管执行的速度提高了。可是ART也有缺点:
1)APP安装过程会变慢;
2)APP占用的存储空间会变多,系统更easy出现系统空间不足问题。
Google今年将Android生态的安全提到了非常重要的位置上,但Android L系统依然存在着一些先天不足:
1)恶意软件和病毒持续增长
Android系统诞生至今,一直饱受各种恶意软件的侵袭。随着各类操作系统ROM的预装内置和应用市场的审核不严等问题,Android平台的恶意软件和病毒数呈直线上升态势。我们在5年前就開始专注研究Android上各类软件的恶意行为。建立了APP行为云。用动静结合的方式分析各类APP的行为。
从CM security的监控数据来看,共发现恶意样本量超过450万款。包含恶意软件和病毒。在2014上半年,这二者的增长趋势超过150%。Android平台的安全战是一个持久战。
2)系统与第三方软件漏洞仅靠Google补丁是不够的
本次Android L系统添加了GooglePlay支持系统补丁的功能,可是因为Android系统版本号的碎片化分布,以及各种定制系统ROM,所以并非全部的漏洞都能够通过GooglePlay进行修补。并且对于Android系统上执行的第三方软件来说,也存在不少的漏洞风险(如WhatsApp隐私泄漏漏洞、Adobe Reader的webview随意代码执行漏洞等),对于这些漏洞风险,紧紧靠GooglePlay的补丁机制,是无法避免或进行全然修补的,Android漏洞方面的风险依旧严峻。
3)手机防盗的安全日益重要
美国立法推动了智能手机支持防盗窃功能,此次Android L系统中增强了此功能,意在彻底防止手机盗窃后的二次倒卖或信息窃取。依据美国《消费者报告》(Consumer Reports)的数据。2013年美国有超过300万部智能手机被盗,远超2012年的160万部。
4)隐私保护机制的教育须要时间依据CM security安全实验室的APP行为云分析,约有20万款应用(约4.4%) 会向用户索取不必要的隐私权限,如短信、通话记录读写权限、用户位置数据权限等。这些APP会在后台偷偷拿到用户的个人隐私,导致用户的日常行踪暴露无遗。
Android L系统提供了一个调整APP权限的机制,来避免用户的隐私泄露风险。对于最大众面的普通用户来说。学会怎样进行底层设置来管理APP权限还须要一定的教育周期。
本文来自网络。如有违规。请提示删除
安卓执行机制JNI、Dalvik、ART之间的比較 。android L 改动执行机制。的更多相关文章
- 安卓WebView中接口隐患与手机挂马利用(远程命令执行)
安卓应用存在安全漏洞,浏览网站打开链接即可中招.目前有白帽子提交漏洞表明目前安卓平台上的应用普遍存在一个安全漏洞,用户打开一个链接就可导致远程安装恶意应用甚至完全控制用户手机,目前微信,手机QQ,QV ...
- SQL执行计划Cost与性能之间的的关系
关于执行计划Cost的三个疑问: 1. 执行计划的Cost越低,SQL就一定跑得越快吗?或者说Cost 和 执行时间成比例关系吗? 2. Oracle 默认产生的执行计划是Cost最低的吗? 3. 如 ...
- Android L 使用ART能提高多少性能?
点击打开链接 刚刚结束的 Google I/O 大会上,Android 下一代操作系统「L」带来不少惊喜.新系统运行更快.更省电. 然而开发者对这个新系统也有颇多疑问,比如新的运行模式 ART 对开发 ...
- 理解Android Java垃圾回收机制
Jvm(Java虚拟机)内存模型 从Jvm内存模型中入手对于理解GC会有很大的帮助,不过这里只需要了解一个大概,说多了反而混淆视线. Jvm(Java虚拟机)主要管理两种类型内存:堆和非堆.堆是运行时 ...
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了A ...
- Android中对Handle机制的理解
一.重要參考资料 [參考资料] 眼下来看,以下的几个网址中的内容质量比較不错.基本不须要再读别的网址了. 1.android消息机制一 http://xtfncel.javaeye. ...
- Android 操作系统的内存回收机制(转载)
Android 操作系统的内存回收机制(转载) Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对 ...
- Android多线程----异步消息处理机制之Handler详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Android 操作系统的内存回收机制[转]
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-android-mmry-rcycl/ Android APP 的运行环境 Andro ...
随机推荐
- js-DOM-css的className相关
1.在非标准的浏览器,IE8及以下的浏览器不支持className的操作,包括getElementByClassName,addClassName,removeClassName; 2.getEle ...
- Shell中各种括号的作用
一.小括号,圆括号() 1.单小括号 () ① 命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号 ...
- grep理解
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html部分摘录于此 grep与正规表达式 字符类 字符类的搜索:如果我想要搜 ...
- LeetCode(103) Binary Tree Zigzag Level Order Traversal
题目 Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left ...
- Python网络爬虫(Get、Post抓取方式)
简单的抓取网页 import urllib.request url="http://google.cn/" response=urllib.request.urlopen(url) ...
- ZZULIoj 1907 小火山的宝藏收益
Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通. 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这 ...
- JavaScript正则表达式-反向引用
使用括号“()”进行分组,使子表达式(子模式)可以作为整体独立被修饰,子表达式所匹配的结果会被记录下来并可以单独被访问. /(a(b(cd){2})+)EF/ 则各引用分别对应: \1 对应(a(b ...
- log4net.dll配置以及在项目中应用
1,首先在项目中引用log4net.dll,然后项目中添加一个配置文件log4net.config <?xml version="1.0" encoding="ut ...
- Windows Server AppFabric
文章:Windows Server AppFabric简介 介绍了AppFabric强大的功能.
- LINQ学习笔记 Join 与 Group join
LINQ中的Join对应T-SQL中的内连接,并无左连接的方法,当然也没有右连接. 要达成Left join必须依靠GroupJoin来完成. GroupJoin顾名思义就是先集团在做加入,加入的不同 ...