Android的底层库libutils介绍

第一部分 libutils概述

      libutils Android 的底层库,这个库以 C++ 实现,它提供的 API 也是 C++ 的。 Android 的层次的 C 语言程序和库,大都基于 libutils 开发。
     libutils中的 头文件如下所示:
frameworks/base/include/utils
libutils 的源文件:
frameworks/base/libs/utils
libutils 的库名称:
libutils.so
       这个库可以分成两个部分,一个部分是底层的工具,另外一个就是实现主要为实现 IPC (进程间通讯)的 Binder 机制。

第二部分 公共库概述

libutils 中的公共库部分主要包含的 头文件 如下所示
Errors.h :定义宏表示错误代码
Endian.h :定义表示大小端的宏
misc.h :几个字符串和文件相关的功能函数

TextOutput.h :定义文本输出的基类 TextOutput
BufferedTextOutput.h :类 BufferedTextOutput ,它是一个 TextOutput 的实现
Pipe.h :定义管道类 Pipe
Buffer.h :定义内存缓冲区域的类 Buffer
List.h :定义链表的模版类

SharedBuffer.h :定义类 SharedBuffer 表示共享内存。
String16.h :定义表示双字节字符串的类 String16
String8.h :定义表示单字节字符串的类 String8 ,并包含了从 String16 转换功能

VectorImpl.h :定义表示向量的类 VectorImpl
Vector.h :定义继承 VectorImpl 的类模版 Vector ,以及排序向量类 SortedVectorImpl
SortedVector.h :定义排序向量的模版 SortedVector
KeyedVector.h :定义使用关键字的向量模板 KeyedVector

threads.h :定义线程相关的类,包括线程 Thread 、互斥量 Mutex 、条件变量 Condition 、读写锁 ReadWriteLock
socket.h :定义套结字相关的类 Socket
Timers.h :定义时间相关的函数和定时器类 DurationTimer
ZipEntry.h ZipFileCRO.h ZipFile.h ZipFileRO.h ZipUtils.h :与 zip 功能相关的类。


第三部分 Binder进程间通讯部分

     Binder是进程间通讯部分的核心,它 为不同的系统提供了可移植的进程间通讯手段。
RefBase.h :
引用计数,定义类 RefBase
Parcel.h :
为在 IPC 中传输的数据定义容器,定义类 Parcel
IBinder.h
Binder 对象的抽象接口,   定义类 IBinder
Binder.h
Binder 对象的基本功能,   定义类 Binder BpRefBase
BpBinder.h
BpBinder 的功能,定义类 BpBinder
IInterface.h
为抽象经过 Binder 的接口定义通用类,
定义类 IInterface ,类模板 BnInterface ,类模板 BpInterface
ProcessState.h
表示进程状态的类,定义类 ProcessState
IPCThreadState.h
表示 IPC 线程的状态,定义类 IPCThreadState


IServiceManager.h :表示服务管理器的类,供其它需要构造服务的类使用
IPermissionController.h :权限控制类。

    几个与内存相关的类的头文件如下所示:
IMemory.h :定义内存相关类的接口,表示堆内存的类 IMemoryHeap BnMemoryHeap ,表示一般内存的类 IMemory BnMemory
MemoryHeapBase.h :定义类 MemoryHeapBase ,继承并实现 BnMemoryHeap
MemoryBase.h :定义类 MemoryBase ,继承并实现 BnMemory
    在一般的使用过程中,通常是以使用 MemoryHeapBase 类分配一块堆内存(类似 malloc ),而 MemoryBase 表示从一块分配好堆内存中的一部分内存。

    此外内存相关的功能中还包含了头文件 MemoryDealer.h MemoryHeapPmem.h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值