【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相关类的库项 ...
随机推荐
- 【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 文章声明 此文章部分资料和代码整合自网上,来源太多已经无法查明出处,如侵犯您的权利,请联系我删除. 01 什么是旅行商问题(TS ...
- Python如何在子类里扩展父类的property?
<python cookbook>8.8节讨论子类扩展property时,一开始都晕了,思考了半天才勉强弄懂一点,赶快记下来.废话不多说,先上代码: class Person: def _ ...
- 洛谷P2679 子串
放题解 题目传送门 放代码
- zip与unzip
- 【转】 关于IDEA javax.servlet.http.HttpServletRequest; 不存在 解决方案
昨天从eclipse导入了一个web项目到idea,想运行一下,结果发现 servlet报红... 没有包,第一反应就是eclipse需要设置Targeted Runtimes,但是idea的设置是啥 ...
- Apache 配置 http 转 https
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} !^443$ Rewr ...
- MNIST数据集分类简单版本
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist = ...
- bzoj3262 陌上花开 cdq分治(入门)
题目传送门 思路:cdq分治处理偏序关系的模板题,主要就是学cdq分治吧,还在入门中. 代码其实也很好理解,记得树状数组操作的上限是 z的最大值,不是n的最大值,这个细节wa了好久. #include ...
- BZOJ - 2648 KD树 最近点查询
省赛后躺尸几天又回来更新了,内容是说好的KD树.. 具体操作从代码中感受一下 感觉已经把KD树尽量封装好了(虽然全局的D看着极不顺眼) 需要注意的是估值函数的判断条件 #include<bits ...
- BZOJ - 2457 思維+貪心
//為什麼我的Chrome OS更新後變成強制繁體了?? 題目要求使用最少的雙端隊列來維護一個單調非降序列 先來看下規律 首先,val肯定是單調非降的,在相等val範圍內的id可以xjb亂放不影響 其 ...