随笔分类 -  Android学习

学习Android开发的一些心得、经验、以及转载别人的一些资料
摘要:Transaction基础功能 Transaction是应用与SurfaceFlinger交流的方式之一,应用通过打开一个Transaction,然后设置各种setXXX操作,最后通过apply把所有的设定操作提交给SurfaceFlinger进行处理。 Transaction最常用的使用方法(套路 阅读全文
posted @ 2023-07-08 23:49 TPrime.A 阅读(4921) 评论(0) 推荐(0)
摘要:### Layer Bounds计算过程分析 从SurfaceFlinger的这里看起: ```cpp void SurfaceFlinger::computeLayerBounds() { const FloatRect maxBounds = getMaxDisplayBounds(); for 阅读全文
posted @ 2023-07-05 22:22 TPrime.A 阅读(874) 评论(0) 推荐(0)
摘要:### DisplayState ```cpp struct DisplayState { // 这里定义了Display变更类型,说明Display可能发生的变化类型 enum { eSurfaceChanged = 0x01, eLayerStackChanged = 0x02, eDispla 阅读全文
posted @ 2023-06-24 17:41 TPrime.A 阅读(1007) 评论(0) 推荐(1)
摘要:主要介绍Android Q版本的HIDL的流程框架 1. Bluetooth HIDL服务流程图 下图是Bluetooth HIDL服务的实现流程: 2. libbt-vendor.so的实现逻辑 Bluetooth HIDL启动后会加载libbt-vendor.so,该so一般由vendor厂商实 阅读全文
posted @ 2020-12-14 23:09 TPrime.A 阅读(849) 评论(0) 推荐(0)
摘要:参考文献: Part I:IInterface/Bn/Bp之间的关系 Iinterface/Bn/Bp是Binder通信中的相关概念。Binder通信是一种client-server的通信结构,这3个类,是对Android Binder框架的抽象,其实这个BBinder,改成BnBinder可能更形 阅读全文
posted @ 2018-10-05 00:50 TPrime.A 阅读(1632) 评论(0) 推荐(0)
摘要:Android原生系统默认情况下,log是不输出到文件的,这样对于只能用模拟器进行开发实验的人来说,不是很方便。 当然android默认不输出log到文件也是考虑到输入日志到文件会引起性能问题。 下面提供一种将日志定向到文件的方法 修改system/core/logcat/logcatd.rc文件, 阅读全文
posted @ 2018-07-15 00:29 TPrime.A 阅读(1457) 评论(0) 推荐(0)
摘要:Android O 将整个 Android 操作系统拆分为通用分区 (system.img) 和特定于硬件的分区(vendor.img 和 odm.img)。受这种变更的影响,您必须从安装到系统分区的模块中移除条件式编译,而且此类模块现在必须在运行时确定系统配置(并根据相应配置采取不同的行为)。 1 阅读全文
posted @ 2018-06-29 00:45 TPrime.A 阅读(2584) 评论(0) 推荐(0)
摘要:1. 配置环境变量 sudo gedit /etc/profile 在文件的最后追加一下内容(your_android-sdk-linux_path是绝对路径): #set path for android sdk tools export PATH=$PATH:/your_android-sdk- 阅读全文
posted @ 2018-06-24 21:56 TPrime.A 阅读(538) 评论(0) 推荐(0)
摘要:折腾了很久,终于搞定了这个环境。记录一下。 准备工作: 1. 首先在Ubuntu官网上下载Ubuntu16.04的官方镜像。官网下载地址(这个找了很久,这里可以直接下载ISO镜像):https://launchpad.net/ubuntu/+cdmirrors 2. 建议直接安装到自己硬盘上(推荐双 阅读全文
posted @ 2017-09-19 23:17 TPrime.A 阅读(9743) 评论(1) 推荐(0)