zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    googleMap JsAPI
    格式化Json代码
    baidu map JSAPI
    ajaxFileUpload与KindEditor
    Intent 意图
    初识Android
    Android环境搭建
    Android入门知识梳理
    网页版计算器
    使用socket实现简单的聊天功能
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4417975.html
Copyright © 2011-2022 走看看