刘望舒 刘望舒
3年前
Android Binder原理(七)Java Binder中系统服务的注册过程
Binder原理Android框架层本文首发于微信公众号「后厂技术官」<!more前言在这篇文章中,我介绍的是NativeBinder中的系统服务的注册过程,这一过程的核心是ServiceManager,而在JavaBinder中,也有一个ServiceManager,只不过这个ServiceManager是Java文件。既然要将系统服务注册到Ser
刘望舒 刘望舒
3年前
Android Binder原理(四)ServiceManager的启动过程
Binder原理Android框架层本文首发于微信公众号「刘望舒」<!more前言在上一篇文章中,我们以MediaPlayerService为例,讲解了系统服务是如何注册的(addService),既然有注册就势必要有获取,但是在了解获取服务前,我们最好先了解ServiceManager的启动过程,这样更有助于理解系统服务的注册和获取的过程。另外还有一点
红橙Darren 红橙Darren
2年前
JNI 基础 - Android 共享内存的序列化过程
1.进程间的通信方式有哪些2.binder和socket通信的区别有哪些3.Android为什么在大部分场景下用Binder进行进程间通信4.Serializable和Parcelable之间的区别5.Parcelable序列化和反序列化的具体过程不知道大家在面试中的过程中,有没有碰到上面类似的问题,我在腾讯和oppo面试的
刘望舒 刘望舒
3年前
Android Binder原理(五)系统服务的获取过程
Binder原理Android框架层本文首发于微信公众号「后厂技术官」<!more前言在本系列的此前文章中,以MediaPlayerService为例,讲解了系统服务是如何注册的(addService),既然有注册那肯定也要有获取,本篇文章仍旧以MediaPlayerService为例,来讲解系统服务的获取过程(getService)。文章会分为两个部分
Easter79 Easter79
2年前
springCloud的使用07
springcloudbus将分布式的节点用轻量的消息代理连接起来。可用于广播配置文件的更改或服务之间的通讯,也可以用于监控。springcloudbus默认只支持rabbitmq和kafka两个binder,也可以进行自己扩展。1\.使用rabbitmq进行消息通讯  1.1下载安装rabbitmq    1.1.1rab
简
3年前
Binder Driver缺陷导致定屏的案例
本文讲解异步bindercall是如何阻塞整个系统的,通过ramdump信息以及binder通信协议来演绎并还原定屏现场。一、背景知识点解决此问题所涉及到的基础知识点有:Trace、CPU调度、Ramdump推导、Crash工具、GDB工具、Ftrace,尤其深入理解binderIPC机制。1.1工具简介Trace:分析死锁
Wesley13 Wesley13
2年前
Android的Binder机制浅析
1\.引言 一般实际的软件系统中进程间通信(IPC)的实现方法有命名管道(namedpipe),共享内存(sharedmemory),消息队列(messagequeue),Socket等方法。在Android的框架(Framework)中,以Binder作为框架内进程间(通常如服务和客户间)通信的主要实现手段。这可能是出于效
Stella981 Stella981
2年前
Notification使用详解之四:由后台服务向Activity发送进度信息
上次讲到了如何在Activity中监听后台服务的进度信息,实现的方式是让Activity与后台服务绑定,通过中间对象Binder的实例操作后台服务。从效果上来讲,这种方式是可行的,不过这种实现有个缺点,那就是Activity的任务太重了,为了监听服务的状态,我们不得不绑定服务,然后还需不断地定时的获取最新的进度,我们为何不换一下形式呢,让Service主
Stella981 Stella981
2年前
Linux中mmap函数使用
一、前言除了标准的文件IO,例如open,read,write,内核还提供接口运行应用将文件map到内存,使得内存中的一个字节与文件中的一个字节一一对应。这就是今天要说的mmap,它在android中的用处非常多,比如binder,还有腾讯的开源的IO框架MMKV(https://www.oschina.net/actio
Stella981 Stella981
2年前
Spring Cloud架构教程 (七)消息驱动的微服务(核心概念)【Dalston版】
下图是官方文档中对于SpringCloudStream应用模型的结构图。从中我们可以看到,SpringCloudStream构建的应用程序与消息中间件之间是通过绑定器Binder相关联的,绑定器对于应用程序而言起到了隔离作用,它使得不同消息中间件的实现细节对应用程序来说是透明的。所以对于每一个SpringCloudStream的应用程序来说,