【Android】1.0 安卓生猛上手
1.Android操作系统,由安迪鲁宾发明,原发明用于照相机操作系统,市场反应惨淡,需求不足,后2005年被谷歌收购,用于智能手机操作系统。
2.logo来源:设计师上厕所看到男女厕所区别标志联想创作。
3.JVM和DVM:Java代码能转换成机器识别码,就是靠JVM. 但是Android开发代码也是Java代码,用JVM足够了,之所以谷歌单独整出来DVM,不是因为DVM比JVM怎么怎么好,是因为版权问题。
3.1谷歌被sun(孙……)公司给告了(2006的事情,sun向谷歌索要2000万美元 10%的Android相关权益许诺其三年的Java授权,谷歌拒绝),2007年11月份,谷歌自主开发Android平台虚拟机Davik,避开sun诉讼。后来2010年1月sun(孙)公司被Oracle公司收购,两家公司就接着扯皮之旅……,特别说明的是2011那件1月Android占1/3智能手机份额,2011年11月占50%。
3.2既然谷歌干了,那肯定要么不干,要么就做得比原版好,所以两者区别就有了。
区别:jvm:由.java变成.class变成.jar(jdk javac),基于栈(普通内存)的架构
dalvik vm:.java变成.class变成.dex(只有一个文件)变成.odex(sdk dex) 基于寄存器(CPU)的架构,这里着重说明的是dvm把所有的.class变成一个.dex文件,原理近似于当你把70MB的多层文件目录,多个文件,打包式复制到某个盘时,会有明显的复制进度条,但转成一个文件后,可能文件大小会变大(105MB左右),但是相反,复制完成的速度相当快,基本看不到复制的进度条。
4.ART模式。Android Runtime,在Android4.4之前,安卓手机系统应用程序均在Dalvik Java的虚拟机上运行,依靠一个编译器实现与应用程序的沟通,应用程序运行时,需要将程序内的代码转换成机器码才能运行,无形之中附加了一道手续,这造成了好点相对较快,占用内存大,几十旗舰机用久了也会卡顿严重的现象。ART模式开发之后,Android手机运行那就相当快了。
4.1原理:在安装应用程序时,自动对程序进行代码预读取编译,程序直接编译成机器语言,省去dalvik模式要时时转换代码,实现高效率、省电、占用更低内存。缺点是:占用略高一些的存储空间(比如QQ时间占用内存原本为44.64MB,ART模式下,变为63.00MB)、安装程序时要想比Dalvik模式要长一些时间来实现预编译(现在看来,这基本都不算缺点了)。
【Android】1.0 安卓生猛上手的更多相关文章
- Android 5.0 Lollipop初上手体验
在等了好几天还没有等到OTA升级提示,前天笔者给Nexus4线刷入了官方提供的Lollipop的镜像,在试用了这两天之后,现在总结下自己感觉很惊艳的地方和一些地方的吐槽.(点击图片可以查看大图) 1. ...
- Android 7.0真实上手体验
Android 7.0真实上手体验 Android 7.0的首个开发者预览版发布了,支持的设备只有Nexus6.Nexus 5X.Nexus 6P.Nexus 9.Nexus Player.Pixel ...
- 使用 VirtualBox 虚拟机在电脑上运行 Android 4.0 系统,让电脑瞬间变安卓平板
Ref: http://www.iplaysoft.com/android-v4-ics-for-virtualbox.html 随着 Android 手机的各种软件应用越来越多,很多没有购买的朋友都 ...
- 还在期待安卓9.0吗?Android 10.0要来了
目前,美国 Google公司的 AndroidP (安卓9.0),已经正式全面推出有几个多月了.众多手机品牌厂商也都在积极的进行更新适配 Android 9.0 系统(修改UI界面也算是二次开发,嗯) ...
- 恩布900手机客服,安卓版本号Entboost Android 1.0 正式公布
恩布900手机客服,安卓版本号Entboost Android 1.0正式公布,支持一行代码在安卓手机实如今线客服的功能,支持文本.表情,图片,语音和离线消息等. ENTBOOST是跨平台.跨应用的实 ...
- 安卓从业者应该关注:Android 6.0的运行时权限
Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注.因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变. 没有深入了解运行时权限的开发 ...
- Android 5.0 到 Android 6.0 + 的深坑之一 之 .so 动态库的适配
(原创:http://www.cnblogs.com/linguanh) 目录: 前序 一,问题描述 二,为何会如此"无情"? 三,目前存在该问题的知名SDK 四,解决方案,1 对 ...
- Android 6.0的运行时权限
原文 http://droidyue.com/blog/2016/01/17/understanding-marshmallow-runtime-permission/ 主题 安卓开发 Andr ...
- Android 6.0 SDK 找不到HttpClient的解决方法
一.情况描述 在eclipse或Android Studio开发时(笔者目前只用过Android Studio),设置Android SDK的编译版本为23时,且使用了httpClient相关类的库项 ...
随机推荐
- AttributeError: module 'yagmail' has no attribute 'SMTP',关于使用yagmail发邮件报错的解决方法
想用yagmail,发送自动化测试结果邮件,发现运行的时候报错.最后发现是自己的脚本名称用的yagmail.py,更改成另一个就好,换了my_yagmail.py 再运行OK啦!!!!
- qt线程睡眠
头文件 #include <QThread> 接口函数: void QThread::sleep ( unsigned long secs ) [static protected] v ...
- Dubbo基础配置
服务启动检查配置 默认check=true dubbo:reference check=“false” 关闭某个服务的启动时检查:(没有提供者时报错) dubbo:consumer check=“ ...
- adminlte+layui框架搭建1
之前写过一篇layui-master的UI搭建,但是感觉layui-master缺少一些东西(前台页面不过多研究),比如说页面的皮肤.菜单.插件,当然我也希望layui的插件可以越来越多,支持多个浏览 ...
- Kibana6.x.x源码分析--如何使用kibana的savedObjectType对象
默认kibana插件定义了三种保存实体对象[savedObjectType],如下图所示: 要使用只需要在自己定义的app的uses属性中添加上:savedObjectTypes 即可,如下图所示: ...
- 2018南京icpc现场赛心得
第一次参加icpc的比赛,也是第一块奖牌,虽然只是铜,但其实打的已经很好了,稍微差一点就可以摸银了. 之前参加省赛,成为那次比赛我校唯一一个没拿奖的队伍,其实还是一直都有一些心结的,而这段时间和新的队 ...
- ul模拟select,位置,数据,是否可输入及输入提示效果都可作为参数直接传入
转发请注明出处,虽然转发几率不大... HTML <span class="theContainer"></span> CSS body {padding: ...
- A - TOYS(POJ - 2318) 计算几何的一道基础题
Calculate the number of toys that land in each bin of a partitioned toy box. 计算每一个玩具箱里面玩具的数量 Mom and ...
- [转] Clojure 快速入门指南:1/3
[From] http://huangz.iteye.com/blog/1325228 导读 本文的目标是为熟悉 Ruby.Python或者其他类似语言.并对 Lisp 或者函数式编程有一定程度了解的 ...
- python-基础学习篇(一)
python基础学习(一) 不积硅步,无以至千里.基础的学习越加透彻,才能更清楚的理解和分析需求,我贯彻基础学习“永无止境”的理念,故把自学的知识梳理在博客中,基础学习篇无限更新. python介绍 ...