前言:从事android工作也有几年了,慢慢对android基础和知识点不那么重视了,觉得自己开始浮躁了,没有方向。我想重新回顾一下android,总结,整理并且提高。

一、android虚拟机

在android2.2之前使用dalvik虚拟机。

DALVIK特点:1.在android系统中每liunix进程都会单独的分配一个虚拟机,有独立的用户id,保证了app的安全性,且当一个进程崩溃不会导致系统崩溃。

2.虚拟机会执行Dex文件(Dex文件是将多个class文件合并起来,可以减少空间)。

3.采用了JIT(just in time) 编译模式,每次运行时会比较慢

4.dalvik是基于寄存器,jvm是基于栈,前者更快一些。

之后采用了ART模式虚拟机,采用了AOT (Ahead of time),在应用安装之前会编译

ART特点:安装时间较长一点,安装完成占用空间大一点。app启动速度要快

二 、cpu架构

armeabi 第五代ARM ,兼容所有ARM设备,通用性强,速度慢

armeabi-v7a 第七代ARM v7,具有高级扩展功能

arm64-v8a 第八代,64位。

X86、X86_64 分别时intel 32位和64位,一半用于平板(模拟器)

mips、mips64 很少接触


三、android系统架构

android系统一共分为四层

首先,分层是一个抽象概念,为了方便管理而分层的,下层服务于上层,这些层次组合成了android操作系统。

一 linux内核层:包括进程管理,网络堆栈,内存管理,驱动模型等。它和底层硬件直接打交道,并为上层提供服务。

二 库和运行时:库提供了c/c++库,媒体库,界面管理,sqlite等库,运行时提供了java库和dalvik虚拟机。

三 应用框架层:为应用程序提供ActivityManager、WindowManager等应用框架。

四 应用层:手机上安装运行的应用。


四、android各个版本

重看android(一) android架构_第1张图片


android4.4主要改动

1.简化组件和内存使用率,提高性能

2.通过主机卡模拟HFC实现新的NFC功能

3.新增打印框架和快捷访问文档(图片,下载等)

4.通过硬件传感器批处理降低传感器功耗

5.提供全屏沉浸模式,透明系统ui(状态栏和导航栏),转场动画

6.全新的chormium webview,gpu加速等。


android5.0主要改动

1.Meteria Design风格,等(比较多的小改动)

android6.0主要改动

1.运行时权限。通过checkSelfpermission()和requestPermission()检查和请求权限

2.低耗电和应用待机模式

3.取消支持Apache HttpClient支持,推荐使用更高效的httpUrlConnect

4.变更文本选择api,如选中文本 复制 粘贴 分享等。。


更多相关文章

  1. Android Build系统分析
  2. 简单的 Android 系统主要版本对比图表
  3. Android调用系统自定义设置界面
  4. Android替换/修改系统默认输入法
  5. Android读取系统时间
  6. 系统启动之一
  7. android 系统广播
  8. 常用的系统调用【Android】

随机推荐

  1. android用DroidDraw实现可视化UI编程
  2. Android笔记--handler机制
  3. Android(安卓)如何保持横竖屏切换不变以
  4. unity导出android遇到的build target 错
  5. Android驱动使用JNI调用
  6. android 电容屏(二):驱动调试之基本概念篇
  7. Android的CTS测试
  8. Java Android(安卓)线程池
  9. Android使用HttpURLConnection和HttpClie
  10. Android(安卓)各国语言缩写-各国语言简称