1.Android简介:
基于Linux的开源的操作系统,最初由安迪·鲁宾(Andy Rubin)创建开发,后来被Geogle收购。Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider),四大组件必须在资源清单中注册才能使用。Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库(SQLite数据库)。
2.DVM与JVM区别:
①首要区别:JVM(JAVA虚拟机)基于栈,编译、运行速度慢些;DVM(Android虚拟机)基于寄存器,编译、运行更快些。
②字节码区别:JVM执行.class格式的字节码;DVM执行.dex格式的字节码,是对.class文件压缩后产生的,文件变小。
③运行环境的区别:JVM只能运行一个实例,所有应用都运行在同一个JVM;DVM一个应用启动都会运行一个单独的虚拟机运行在一个单独的进程中。
3.平台代号、版本、API 等级和 NDK 版本
| Android 11 | 11.0.0 | API 级别 30 |
| Android 10 | 10.0.0 | API 级别 29 |
| Pie | 9.0.0 | API 级别 28 |
| Oreo | 8.1.0 | API 级别 27 |
| Oreo | 8.0.0 | API 级别 26 |
| Nougat | 7.1 | API 级别 25 |
| Nougat | 7.0 | API 级别 24 |
| Marshmallow | 6.0 | API 级别 23 |
| Lollipop | 5.1 | API 级别 22 |
| Lollipop | 5.0 | API 级别 21 |
| KitKat | 4.4-4.4.4 | API 级别 19 |
| Jelly Bean | 4.3.x | API 级别 18 |
| Jelly Bean | 4.2.x | API 级别 17 |
| Jelly Bean | 4.1.x | API 级别 16 |
| Ice Cream Sandwich | 4.0.3-4.0.4 | API 级别 15,NDK 8 |
| Ice Cream Sandwich | 4.0.1-4.0.2 | API 级别 14,NDK 7 |
| Honeycomb | 3.2.x | API 级别 13 |
| Honeycomb | 3.1 | API 级别 12,NDK 6 |
| Honeycomb | 3.0 | API 级别 11 |
| Gingerbread | 2.3.3-2.3.7 | API 级别 10 |
| Gingerbread | 2.3-2.3.2 | API 级别 9,NDK 5 |
| Froyo | 2.2.x | API 级别 8,NDK 4 |
| Eclair | 2.1 | API 级别 7,NDK 3 |
| Eclair | 2.0.1 | API 级别 6 |
| Eclair | 2.0 | API 级别 5 |
| Donut | 1.6 | API 级别 4,NDK 2 |
| Cupcake | 1.5 | API 级别 3,NDK 1 |
| (无代号) | 1.1 | API 级别 2 |
| (无代号) | 1.0 | API 级别 1 |
4.打印工具Log
Log.v() 。打印最为琐碎的、意义最小的日志信息。对应级别verbose,是 Android日志里面级别最低的一种。
Log.d() 。打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。 对应级别debug,比verbose高一级。
Log.i() 。打印一些比较重要的数据,这些数据应该是你非常想看到的、可以帮你分 析用户行为数据。对应级别info,比debug高一级。
Log.w() 。打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修 复一下这些出现警告的地方。对应级别warn,比info高一级。
Log.e() 。打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误信息 打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error, 比warn高一级。
为什么不用System.out.println(),而用log?
比如日志打印不可控制、打印时间无法确定、不能添加过滤器、日志没有级别区分……等等
5.Application类
简介:Application时维护应用全局变量的基类,提供应用全局状态访问,Android系统会在自动在启动应用时创建一个Application对象。
①自定义Application:创建类继承自Application,在资源清单文件的application属性中加入android:name = “.继承类名”
②生命周期:开始于应用进程启动前,结束于整个应用进程结束(服务等结束)后,它的回调函数都运行于UI线程。
onLowMemory()在系统内存吃紧的时候被调用
③Application对象作用:
I、共享全局状态 II、初始化全应用所需要的服务



