Android
1.Google Android 给出的官方Android架构图就是大家都知道的四层,第一层是应用层(就是很多能够看得到的应用),第二层是应用框架层(为application提 供各种各样的支持),第三层是Library内库层 + Dalvik VM, 第四层是Linux kernel 层
2.自己理解的Android架构图-主要是把第一层和第二层合并成Android层,然后library c + dalvik vm 和 Linux kernel 是不会变的
3.从编程语言角度划分主要是,上层语言(Java语言 / Kotlin语言) 会去调用底层的API,JNI调用是可以实现Java和C/C++交互,互相调用
APP
一个应用有一个Application
一个应用有很多东西组成:通常情况下会有四大组件组成
Context 上下文环境
Context是环境,Activity是组件 所以会拥有环境,Service是组件 所以会拥有环境,ContextProvider是组件 所以会拥有环境,BroadcastReceiver是组件 所以会拥有环境 ....
环境的作用很大:可以直接操作 files / databases / share-pres 等等.....
Activity的父类是上下文环境,所以可以直接操作 files / databases / share-pres 等等.....
等等.........
Service的父类是上下文环境,所以可以直接操作 files / databases / share-pres 等等.....
等等.........
ContextProvider可以getContent();,所以可以操作 files / databases / share-pres 等等.....
Context context = getContext();
public class Test extends ContentProvider { @Override public boolean onCreate() { Context context = getContext(); return false; } }
等等.........
BroadcastReceiver 的 onReceive(Context context, ...) 所以可以操作 files / databases / share-pres 等等.....
public class Test extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } }
等等.........