Android的底层库libutils
2016-06-21 17:13
549 查看
第一部分 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 中的公共库部分主要包含的 头文件 如下所示 :
Error s.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
I Binder.h :
Binder 对象的抽象接口, 定义类 IBinder
Binder.h :
Binder 对象的基本功能, 定义类 Binder 和 BpRefBase
BpBinder.h :
BpBinder 的功能,定义类 BpBinder
I Interface.h :
为抽象经过 Binder 的接口定义通用类,
定义类 IInterface ,类模板 BnInterface ,类模板 BpInterface
Pro cessState.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 。
2008-12-05 16:15
第一部分 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 中的公共库部分主要包含的 头文件 如下所示 :
Error s.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
I Binder.h :
Binder 对象的抽象接口, 定义类 IBinder
Binder.h :
Binder 对象的基本功能, 定义类 Binder 和 BpRefBase
BpBinder.h :
BpBinder 的功能,定义类 BpBinder
I Interface.h :
为抽象经过 Binder 的接口定义通用类,
定义类 IInterface ,类模板 BnInterface ,类模板 BpInterface
Pro cessState.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 。
libutils 是 Android 的底层库,这个库以 C++ 实现,它提供的 API 也是 C++ 的。 Android 的层次的 C 语言 程序和库,大都基于 libutils 开发。
libutils中的 头文件如下所示:
frameworks/base/include/utils
libutils 的源文件:
frameworks/base/libs/utils
libutils 的库名称:
libutils.so
这个库可以分成两个部分,一个部分是底层的工具,另外一个就是实现主要为实现 IPC (进程间通讯)的 Binder 机制。
第二部分 公共库概述
libutils 中的公共库部分主要包含的 头文件 如下所示 :
Error s.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
I Binder.h :
Binder 对象的抽象接口, 定义类 IBinder
Binder.h :
Binder 对象的基本功能, 定义类 Binder 和 BpRefBase
BpBinder.h :
BpBinder 的功能,定义类 BpBinder
I Interface.h :
为抽象经过 Binder 的接口定义通用类,
定义类 IInterface ,类模板 BnInterface ,类模板 BpInterface
Pro cessState.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 。
2008-12-05 16:15
第一部分 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 中的公共库部分主要包含的 头文件 如下所示 :
Error s.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
I Binder.h :
Binder 对象的抽象接口, 定义类 IBinder
Binder.h :
Binder 对象的基本功能, 定义类 Binder 和 BpRefBase
BpBinder.h :
BpBinder 的功能,定义类 BpBinder
I Interface.h :
为抽象经过 Binder 的接口定义通用类,
定义类 IInterface ,类模板 BnInterface ,类模板 BpInterface
Pro cessState.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 。
相关文章推荐
- StrictMode 严格模式应用
- Android屏幕适配小技巧sw<n>dp
- Android录制屏幕视频 将视频转换为GIF动态图
- android 6.21线程的概念
- 游客模式,记住当前点击的位置,登陆成功后回调。
- Android与JS混编(js调用java)
- Android Studio 百度地图 230错误 Scode码校验失败
- 编译Android 4.2源码obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/html/DocTypeStrings.cpp]
- Android 6.0 应用权限(二) -- 与系统权限一起工作(Working with System Permissions) 使用MarkDown重新整理了排版
- AndroidStudio Gradle 批量渠道打包
- Android进阶之自定义View实战(二)九宫格手势解锁实现
- android之对话、单复框的使用
- 【android】:android获得手机内传感器类型
- android5.1 控制原生key guard显示隐藏
- [总结]RTMP流媒体技术零基础学习方法
- android:ToolBar详解(手把手教程)
- Android Volley完全解析
- Android 绘制变化的音频
- 分析(Android下的任务和Activity栈)
- Mac adb 配置