19.深刻解析AndroidAIDL界面.docVIP

  • 3
  • 0
  • 约8.32千字
  • 约 12页
  • 2018-08-01 发布于江苏
  • 举报
19.深刻解析Android的AIDL界面 Android应用框架里,应用层级的软件大多是Java类别,而系统层级的软件大多是C或 C++类别。Android使用JNI接口来达成这个目标。例如,在Android里有个MediaPlayer.cpp类别,当它搭配上JNI接口之后,在VM上执行的MediaPlayer.java就可以透过JNI接口与MediaPlayer.cpp类别沟通了。 图1-1 基于这样的架构,我门就可以尽量将MediaPlayer.java里的程序逻辑移入MediaPlayer.cpp类别里,以便加快程序的执行速度。此外,以JNI接口包装MediaPlayer.cpp类别,并且衔接相互辉映的MediaPlayer.java类别,可以让众多的Java应用程序透过MediaPlayer.java来使用MediaPlayer.cpp类别的服务。这是一种非常有用的包装技巧,藉由包装来创造更多的应用机会。 为了进一步创造更多的应用机会,可以替MediaPlayer.java类别加上AIDL接口,让更多的Java应用程序能与MediaPlayer.java类别进行远距的IPC沟通。如下图所示: 图1-2 上图表示出JNI在Android里扮演的角色,以及Android框架里Java与C/C++类别融合的基本架

文档评论(0)

1亿VIP精品文档

相关文档