C/S架构(Client/Server,即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器.简单的说就是第一层是用户表示层,第二层是数据库层.客户端和服务器直接相连,这两个组成部分都承担着重要的角色. Android内核是基于Linux系统, 而Linux现存多种进程间IPC方式:管道, 消息队列, 共享内存, 套接字, 信号量, 信号.而Android用的是Binder来进行进程间通信. Binder是Android系统…
Android系统基本上可以看作是一个基于Binder通信的C/S架构.他有服务器端和客户端.比如自己开发一个程序,肯定是基于Activity的而Activity就是作为客户端,他的服务器端就是ActivityManagerService. 1.Activity客户端和他的服务器ActivityManagerService通信 客户端和服务器通信都是客户端发出请求,由服务器端来响应的,比如WWW服务就是客户端先知道服务器的地址,然后就可以通过浏览器来访问了.首先我们假设客户端知道服务器的地址(实…
转自: http://tech.cnnetsec.com/585.html 本文首先概述了Android的进程间通信的Binder机制,然后结合一个AIDL的例子,对Binder机制进行了解析. 概述 我们知道,在Android app中的众多activity,service等组件可以运行在同一进程中,也可以运行在不同进程中.当组件运行在同一进程中进行通信就显得比较简单,在之前的Android线程间通信机制中已经讲过了:而当它们运行在不同的进程 中时,就需要使用我们本文中所要介绍的Binder机…
基于golang分布式爬虫系统的架构体系v1.0 一.什么是分布式系统 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统.简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样.分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务.计算机越多,CPU.内存.存储资源等也就越多,能够处理的并发访问量也就越大. 从分布式系统的概念中我们知道,各个主机之间通信和协调主要通…
摘要:对  Binder 工作机制进行了分析. 首先简述 Android 中 Binder 机制与传统的 Linux 进程间的通信比较,接着对基于 Binder 进程间通信的过程分析 最后结合开发实例 (AIDL),了解 基于 Binder的进程间通信. 1.Android 采用 Binder 作为 IPC (Internet Process Connection) 机制的优势     Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道…
本篇针对Surface模块进行分析,从Java层的Activity创建开始,到ViewRoot.WindowsManagerService,再到JNI层和Native层. 首先推荐一个Android源码查看的网站:http://androidxref.com/ Surface的创建涉及三个部分: App 进程App需要将自己的内容显示在屏幕上,所以App负责发起Surface创建请求,创建好Surface后, 就可以直接可以在canvas上画图等,最终都会保存到Surface里的buffer里,…
本篇针对surfaceFlinger模块进行分析,目录如下: 1.SurfaceFlinger功能 1.1.BufferQueue原理(native/libs/gui模块) 1.2   layer显示内存分配(native/libs/ui模块) 1.3.surfaceFlinger处理(native/.../surfaceFlinger模块) 2.工程代码解析: 2.1.surfaceFlinger启动过程 2.2.surfaceFlinger事务处理  3.总结(处理流程.交互模块) ****…
译文 版本:greenDAO 3.2.2 官网:http://greenrobot.org/greendao/ GitHub:https://github.com/greenrobot/greenDAO 写在前面: 这个库极大的优化了我们使用SQLite数据库,但对SQLite数据库及其语法的掌握依旧是我们需要做的,不建议新手在没使用过Android原生的数据库API的情况下就使用这个. 简介: greenDAO 是一款开源的面向 Android 的轻便.快捷的 ORM 框架,将 Java 对象…
首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看.以及ANR问题如何获取trace文件并简单分析. -×************************************************************** 目录: 一.ADB概述 二.ADB常用命令 (1)基本命令 (2)软件操作命令 (3)文件操作命令 (4)日志操作命令 三.dumpsys使用 四.dump SurfaceFlinger的打印信息…
目录: 1.Android系统架构 2.Android类库 3.四大组件 ----------------------------------------------------------------------- 1.Android系统架构 从架构图看出架构分为五个部分,由下往上依次为: Linux Kernel:Android基于Linux提供核心系统服务,例如:安全.内存管理.进程管理.网络堆栈.驱动模型.Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体g硬件细节而为上层…