Android
Linux+Framework+JVM
- 在Linux/Java上做了个二次开发?
- 并不完全是:Android定义了应用模型
·
支持Java是一个非常高瞻远瞩的决定 - QualcommMSM7201
ARMv6指令集
528MHz×1CPU,顺序八级流水线
TSMC 90nm - “跑个地图都会卡”
但摩尔定律生效了!
操作系统OS含义,为APP提供服务,为APP提供运行环境,为下层Linux提供支撑就是OS,比如Android OS,浏览器也是OS
Android Apps
一个运行在Java虚拟机(AndroidRuntime)上的应用程序
- Platform(Framework)
- NDK(NativeDevelopmentKit)
- Java Native Interface(C/C++代码)
官方文档(RTFM)
- Kotlin
- Platform
(1)android.view.View:“the basic building block for user interface components"
(2)android.webkit.WebView-嵌入应用的网页
(3)android.hardware.camera2-相机
(4)android.database.database-数据库
四大组件
Activity
- 应用程序的UI界面(EventDriven)
- 存在一个ActivityStack(应用拉起)
Service
- 无界面的后台服务
Broadcast
- 接受系统消息,做出反应
例如“插上电源”、“Wif断开”
ContentProvider
·可以在应用间共享的数据存储(insert,update,query.,…)
参考
- Android 系统 (Android App 和系统架构;应用后台保活)