在远程的Service调用中,Activity和Service到底是怎么沟通的?对于Service的远程调用,一般会在不同的工程中也就是两个不同的进程,那么进程的沟通机制是什么?傻蛋画了一个图来说明。

Android进程在产生时会:1.产生一个主线程。2. 产生Looper对象 3.产生一个消息队列。4.产生一个虚拟机对象来实现Java和C++之间的沟通。通过C/C++层的IPC来实现通讯。

进程间通讯:Android通过IBinder接口来实现进程间的通讯,MyActivity会调用IBinder的transact()函数通过IPC来调用远程的onTransact()函数。 在默认情况下,如果Servie和Activity、BroadcastReceiver在同一个工程里面,那么这些组件都会在同一个进程中执行,并且由主线程负责执行,当然也可以通过配置让其在不同的组件里面执行。

本文出自 “最牛傻蛋的博客” 博客,转载请与作者联系!

更多相关文章

  1. Android(安卓)解析启动白屏原理及解决方案
  2. Android(安卓)NDK开发(1)----- Java与C互相调用实例详解
  3. Android中WebView的用法
  4. android 学习九 Fragments 介绍(android3.0及4.0与之前版本区别的
  5. android app卸载以后弹出用户反馈界面
  6. [Android]你不知道的Android进程化(1)--进程信息
  7. Android开发之android中的多进程模式
  8. android 前后台保活 实现定位数据定时上传并展示轨迹 (上)
  9. iOS中Objective-C与JavaScript之间相互调用的实现(实现了与Androi

随机推荐

  1. android监听短信并判断是否未读
  2. Android(安卓)自定义BaseAdapter
  3. Android(安卓)Audio Subsystem - AudioTr
  4. android延时更新UI
  5. android SpannableString使用详解
  6. android studio 使用getActionBar返回NUL
  7. Android优化技巧
  8. Android中如何一次性finish掉以前打开的
  9. android中textview设置为多行文本时,如何
  10. Android(安卓)获取NavigationBar高度