本篇内容主要讲解“ Android中Activity和Service是怎么沟通的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ Android中Activity和Service是怎么沟通的”吧!
对于Service的远程调用,一般会在不同的工程中也就是两个不同的进程,那么进程的沟通机制是什么?傻蛋画了一个图来说明。
Android进程在进行远程通讯时会:
1.产生一个主线程。
2. 产生Looper对象
3.产生一个消息队列。
4.产生一个虚拟机对象来实现Java和C++之间的沟通。
5.通过C/C++层的IPC来实现远程通讯。
所谓的 进程间通讯:Android通过IBinder接口来实现进程间的通讯,MyActivity会调用IBinder的transact()函数通过IPC来调用远程的onTransact()函数。注意: 在默认情况下,如果Service和Activity、 BroadcastReceiver在同一个工程里面,那么这些组件都会在同一个进程中执行,并且由主线程负责执行,当然也可以通过配置让其在不同的组件里面执行,比如让Service在Remote进程中运行。
到此,相信大家对“ Android中Activity和Service是怎么沟通的”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。