【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相关类的库项 ... 
随机推荐
- postgreSQL PL/SQL编程学习笔记(六)——杂七杂八
			1 PL/pgSQL Under the Hood This part discusses some implementation details that are frequently import ... 
- 三种timer控件的简单实例
			.system.windows.forms .system.threading.timer .system.timers.timer using System; using System.Collec ... 
- bootstrap的其他
			情境文本颜色 <p class="text-muted">...</p> <p class="text-primary">. ... 
- Qt 学习之路 2(35):文件
			Qt 学习之路 2(35):文件 豆子 2013年1月5日 Qt 学习之路 2 12条评论 文件操作是应用程序必不可少的部分.Qt 作为一个通用开发库,提供了跨平台的文件操作能力.从本章开始,我们来了 ... 
- SQL函数:返回传入的字符中的数字或者字符
			/******返回传入的字符串的所有字符 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER function [dbo].[F_Get ... 
- prcharm 注册码
			JetBrains全系列在线激活中心 使用方法: 1. 点击Help,选择Register.打开注册页面. 2. 选择License server, 在License server address 中 ... 
- ES6,CommonJS 区别
			Javascript,javascript是一种脚本编程语言,有自己独立的语法与语义,没有javascript,也就没有其他的那些概念了. 关于ES6,可直接理解为javascript的增强版(增加了 ... 
- asp.net 同时执行js事件和代码事件 导出 excel
			onclick="return bnQuery_onclick()" onserverclick="bnQuery_ServerClick" public ... 
- CNN 卷积神经网络结构
			cnn每一层会输出多个feature map, 每个Feature Map通过一种卷积滤波器提取输入的一种特征,每个feature map由多个神经元组成,假如某个feature map的shape是 ... 
- vue的props和$emit / 父子组件通信
			props 父级: 父级组件中引用子组件,并将自己data下面的giveChild数据绑定在 giveChildData 传给子 <myChild :giveChildData=" ... 
