Android四层框架结构

2018-05-17  本文已影响16人  流水潺湲

Android四层框架结构

以震动为例:


应用层:

获取Vibrator对象实例

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

开始震动

vibrator.vibrate(1000);

应用框架层:

实现vibrate()方法的具体内容

实现方式:

1. Vibrator是一个抽象类,真正的实现代码在其子类SystemVibrator中。

2.通过Android IPC通讯机制(aidl),实现夸进程调用VibratorService中的vibrate方法。

3.在vibrate方法中,启动了一个线程,在线程中执行了native方法vibratorOn,到这里,java层的逻辑全部跟完了。

运行库层:

通过编译com_android_server_VibratorService.cpp,生成.so文件存放在系统运行库中!

在com_android_server_VibratorService.cpp中

static void vibratorOn(JNIEnv *env, jobject clazz, jlong timeout_ms)

实现了向震动器设备节点中写入震动时长

内核层:

创建一个后台服务,监听振动器的设备节点,从设备节点中读取需要震动的时间。通过cup控制,给震动器通电需要震动的时间

上一篇 下一篇

猜你喜欢

热点阅读