【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相关类的库项 ...
随机推荐
- 华为敏捷DevOps实践:产品经理如何开好敏捷回顾会议
大家好,我是华为云DevCloud项目管理服务的产品经理 恒少:) 作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流.布道.技术沙龙,但是线下交流,覆盖的用户总还是少数.我希望借助 ...
- Qt 学习之路 2(69):进程
Qt 学习之路 2(69):进程 豆子 2013年11月9日 Qt 学习之路 2 15条评论 进程是操作系统的基础之一.一个进程可以认为是一个正在执行的程序.我们可以把进程当做计算机运行时的一个基础单 ...
- angular-ui-select 下拉框支持过滤单选多选解决方案(系列一)
angular-ui-select 官方文档:github地址:https://github.com/angular-ui/ui-select 请大家多看文档 首先注意版本的问题,如果版本不 ...
- CentOS 7 安装中网络设置111
如果在安装过程中需要使用网络,需要启动网卡,默认是DHCP 点击configure进入设置 General 常规设置 Automatically connect to this network whe ...
- Android 绑定Service并与之通信
1.绑定service 2.实现方法 3.在Androidmanifest.xml文件中配置service <service android:name=".Myservice" ...
- MITx: 6.00.1x Introduction to Computer Science and Programming Using Python Week 2: Simple Programs 4. Functions
ESTIMATED TIME TO COMPLETE: 18 minutes We can use the idea of bisection search to determine if a cha ...
- Advanced Data Structures in competitive programming
1.bit #define isOn(S, j) (S & (1 << j)) #define setBit(S, j) (S |= (1 << j)) #define ...
- 文件对象FSO应用 文件对象FSO应用
FileSystemObject对象被用来访问服务器上的文件系统.这个对象能够处理文件.文件夹和目录路径.用它来检索文件系统信息也是可能的. 下面的代码创建了一个文本文件,并写入了一些文本: dim ...
- 选择IM云服务供应商
选择IM云服务供应商,其实最重要是有三个因素:费用.技术稳定性.以及后续运维服务. 对于不少创业公司来讲,可能需要找到成本和稳定性的最佳平衡点.目前国内不少IM云服务产品都推出了免费服务项目或者一定期 ...
- 异步的模块合并管理器-m3m4版本和jquery版本(原创)
m3m4版本 (function(w){ var loading={} var models={} function define(name,args){ loading[name]=true mod ...