排序:
默认
按更新时间
按访问量

AndroidO 图形框架下应用绘图过程——Surface创建

Android图形框架在前几年已经分析过了,不过,随着Android版本的升级,虽然框架主体未变,但有些细节变动还是比较大的,应网友要求,今天再次以AndroidO为基础,重新介绍图形框架实现,Android图形框架包括以下三大部分:1. 应用绘图;2. SurfaceFlinger混合图层;3....

2018-06-13 16:14:46

阅读数:753

评论数:5

AndroidO 下图形显示框架变化介绍

Android显示框架随着Android版本的不断升级,也在不断变化修改,但主体框架未变,依然保持Android4.0上定制的实现结构,只是类命名更加清晰,实现方式更加明了,同时随着HAL版本的不断升级,增加了一些额外的接口,随着AndroidO引入Treble架构,显示框架也作了必要的调整。An...

2018-05-07 10:07:53

阅读数:870

评论数:1

AndroidO Treble架构下HIDL服务Java框架实现

前面介绍了HIDL服务在native层的实现过程,包括HIDL服务加载创建、服务注册、服务查询过程等,那么Java层是否也实现了相关的服务框架呢? 通常情况下,所有的Hal都实现在native层面,每个hal进程都是一个native进程,由init进程启动,在hal进程启动时会完成HIDL服务注册...

2018-04-10 12:14:55

阅读数:1260

评论数:2

AndroidO Treble架构下HIDL服务查询过程

通过前面的分析我们知道,Hal进程启动时,会向hwservicemanager进程注册hidl服务,那么当Framework Server需要通过hal访问硬件设备时,首先需要查询对应的hidl服务,那么Client进程是如何查询hidl服务的呢?这篇文章将展开分析,这里再次以IComposer为...

2018-04-09 18:09:40

阅读数:1189

评论数:0

AndroidO Treble架构下Tranport类型查询过程

通过前面文章的分析,我们知道,Client进程在查询hidl服务接口对象时,会根据该hidl服务的Tranport类型选择加载方式,如果是HWBINDER,那么就从hwservicemanager中查询,如果是PASSTHROUGH,那么就通过PassthroughServiceManager将h...

2018-04-09 16:18:30

阅读数:467

评论数:0

AndroidO Treble架构下hwservicemanager启动过程

hwservicemanager是hidl服务管理中心,负责管理系统中的所有hidl服务,由init进程启动。service hwservicemanager /system/bin/hwservicemanager user system disabled group s...

2018-04-09 15:48:42

阅读数:1259

评论数:0

AndroidO Treble架构下Binder对象的转换过程

上文中详细分析了Hal的整个启动过程,这里将补充上文中没有详细分析的Binder对象转换过程,下图为hidl服务的完整注册过程:1.  HwcHal继承于IBase类,是对hw_module_t的封装,该对象位于Hal进程空间;2.  通过hwservicemanager的binder代理将Hwc...

2018-04-09 14:17:17

阅读数:541

评论数:0

AndroidO Treble架构下Hal进程启动及HIDL服务注册过程

通过前面对Treble架构的介绍,我们知道,Android Framework进程和Hal分离,每个Hal独立运行在自己的进程地址空间,那么这些Hal进程是如何启动的呢?本文以composer hal为例展开分析。在以下路径有composer hal的rc启动脚本:hardware/interfa...

2018-04-09 10:46:59

阅读数:3174

评论数:3

AndroidO Treble架构下的接口文件编译

HIDL是一种接口定义语言,描述了HAL和它的用户之间的接口。同aidi类似,我们只需要为hal定义相关接口,然后通过hidl-gen工具即可自动编译生成对应的C++或者java源文件,定义hal接口的文件命名为xxx.hal,为了编译这些.hal文件,需要编写相应的Android.bp或者And...

2018-04-07 13:35:44

阅读数:755

评论数:1

AndroidO Treble架构下的变化

AndroidO引入Treble架构后,有那些变化呢?1. 增加了多个服务管家,AndroidO之前版本有且只有一个servicemanager,现在增加到3个,他们分管不同的服务。2.增加了binder通信库,这是为了适配binder域的扩展。3.增加了binder域,系统定义了3个binder...

2018-04-06 20:24:34

阅读数:683

评论数:1

AndroidO Treble架构分析

从AndroidO开始,google引入了Treble架构,目的是为了方便系统升级,将oem定制的东西和Framework分离。AndroidO之前的版本:在此之前的Android系统架构当中,Android Framework与Android HAL是打包成一个system.img的,而且Fra...

2018-04-06 19:40:49

阅读数:783

评论数:0

GitHub 优秀的 Android 开源项目

主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditText、TableView、Activity Animation等等。 ...

2015-01-15 08:28:37

阅读数:2852

评论数:3

Android应用程序权限管理

在Android源码frameworks/base/api/current.txt中定义了所有应用程序所需的权限 访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位...

2015-01-05 10:09:49

阅读数:5014

评论数:0

Ubuntu Vim配置

ctags的搭建与使用 1.下载源码包:http://nchc.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz 2.解压 tar zxvfctags-5.8.tar.gz 3.配置 ./configure 4.make 5.m...

2014-12-31 14:39:18

阅读数:1347

评论数:0

ubuntu安装搜狗输入法

ubuntu安装搜狗输入法 sudo apt-add-repository ppa:fcitx-team/nightly #添加源 sudo apt-get update #更新源 sudo apt-get remove fcit...

2014-12-31 09:00:16

阅读数:1171

评论数:1

在 Ubuntu 上使用 sshfs 映射远程 ssh 文件系统为本地磁盘

install sshfs sudo apt-get install sshfs sudo modprobe fuse sudo adduser apuser fuse sudo chown root:fuse /dev/fuse Now, assuming that you have an ...

2014-12-31 08:58:30

阅读数:1117

评论数:0

Linux shell 之特殊变量

$$   Shell本身的PID(ProcessID) $!   Shell最后运行的后台Process的PID $?   最后运行的命令的结束代码(返回值) $-   用Set命令设定的Flag一览 $*   有参数列表。如"$*"用「"」括起来的情况、以&...

2014-11-21 13:07:26

阅读数:764

评论数:0

Linux shell 之比较判断

整数比较  -eq       等于,如:if [ "$a" -eq "$b" ]  -ne       不等于,如:if [ "$a" -ne "$b" ]  -gt       大于,如:if [ &...

2014-11-21 12:57:07

阅读数:691

评论数:0

Linux shell之数组使用

1.数组定义:a=(1 2 3 4 5) 2.数组引用:${a[@]} 3.数组长度:${#a[@]} 4.打印数组:echo ${a[*]} 5.数组元素引用:${a[2]} 用${数组名[下标]} 下标是从0开始  下标是:*或者@ 得到整个数组内容 6.数组元素赋值:a[1...

2014-11-21 12:54:59

阅读数:820

评论数:0

深入剖析Android音频之AudioTrack

播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在fra...

2014-10-11 11:05:14

阅读数:16507

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭