Android
文章平均质量分 74
主要收录一些Android的一些扫盲的知识,不作为重点知识
HZero.chen
随风潜入夜,润物细无声
展开
-
binder学习笔记
device_initcall(binder_init)binder_openstatic int binder_open(struct inode *nodp, struct file *filp) proc = kzalloc(sizeof(*proc), GFP_KERNEL); //此处主要分配了binder_proc结构体,管理数据结构体,每个进程都有独立的记录 proc->tsk = current->group_leader; ...原创 2022-06-01 23:55:37 · 931 阅读 · 0 评论 -
Android 显示系统(文章综述)
1. CPU 与 GPU 职责对比GPUResterization 栅格化是绘制那些 Button,Shape,Path,String,Bitmap 等组件最基础的操作。它把那些组件拆分到不同的像素上进行显示。这是一个很费时的操作,GPU 的引入就是为了加快栅格化的操作。CPUCPU 负责把 UI 组件计算成 Polygons,Texture 纹理,然后交给 GPU 进行栅格化渲染2. Android 渲染机制Android 系统采用一种称为 Surface 的 UI 架构为应用程序提供用转载 2021-12-07 17:13:12 · 953 阅读 · 0 评论 -
解包androd img镜像文件
ubuntu@ct-srv12:~/android/android/out/target/product/qssi$ ls *.imgboot-debug.img boot.img dtb.img product.img ramdisk-debug.img ramdisk.img super_empty.img system.img vbmeta.img vbmeta_system.imgubuntu@ct-srv12:~/android/android/out/target/pro原创 2021-11-19 11:17:22 · 2283 阅读 · 0 评论 -
Android vold介绍
目录1. 前言2. vold概述3. vold初始化|- -vm->start()|- -process_config|- -android::hardware::configureRpcThreadpool|- -android::vold::VoldNativeService::start参考文档1. 前言本文主要是以sd卡的挂载为例来介绍vold的工作流程,首先会对vold做一个简单的介绍,然后会通过分析代码的方式来介绍sd卡的整个挂载流程。2. vold概述Vold(volume翻译 2021-09-12 13:20:11 · 3892 阅读 · 3 评论 -
AIDL binder实例
1.前言本章主要参考了Binder系列9—如何使用AIDL,介绍aidl实现binder通信的主要工作2. aidl接口文件#IRemoteService.aidl interface IRemoteService { int getPid(); MyData getMyData();}3. IRemoteService.java文件sdk根据aidl接口文件会自动生成IRemoteService.java文件,包含了实体binder(stub类)和代理binder(prox翻译 2021-09-10 22:33:52 · 207 阅读 · 0 评论 -
binder实现例程
1. 前言本文的主要示例来自 3分钟带你看懂android中的Binder机制, 要实现binder通信,基本要实现如下的工作:1.定义接口服务是服务端要具备的能力来提供给客户端,定义一个接口继承IInterface,代表了服务端的能力public interface PersonManger extends IInterface { void addPerson(Person mPerson); List<Person> getPersonList();}2. 定翻译 2021-09-10 22:33:00 · 342 阅读 · 0 评论 -
Android binder学习笔记 - binder线程创建
目录1. 前言2. vold/main|- -ProcessState::self()|- -ps->startThreadPool()|- - -ioctl(mProcess->mDriverFD, BINDER_WRITE_READ, &bwr)|- - -executeCommand(cmd)参考文档1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对翻译 2021-09-10 22:30:22 · 1225 阅读 · 0 评论 -
Android binder学习笔记pre - binder驱动
1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要讲述binder驱动部分。2. binder驱动领域模型3. binder_init...原创 2021-09-10 22:29:34 · 237 阅读 · 0 评论 -
Android binder学习笔记4 - binder transact流程分析
目录1. 前言2. IPCThreadState::self()->transact|- -writeTransactionData|- -IPCThreadState::waitForResponse|- - -talkWithDriver|- - - -binder_thread_write|- - - -binder_thread_read参考文档1. 前言在Android binder学习笔记2 - 获取ServiceManager中defaultServiceManager->Pr原创 2021-09-10 22:28:26 · 3434 阅读 · 0 评论 -
Android binder学习笔记5 - 获取服务
目录1. 前言1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要讲述 获取service的过程。...翻译 2021-09-10 22:27:28 · 114 阅读 · 0 评论 -
Android binder学习笔记3 - 注册服务(addService)
1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要讲述 注册服务(addService)。2....翻译 2021-09-10 21:58:12 · 995 阅读 · 0 评论 -
Android binder学习笔记2 - 获取ServiceManager
目录1. 前言2. 主要类与对象3. defaultServiceManager|- - ProcessState::self|- -ProcessState::getContextObject|- -interface_cast|- -ServiceManagerShim(sm)参考文档1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要讲述翻译 2021-09-10 21:56:06 · 885 阅读 · 0 评论 -
Android binder学习笔记1 - 启动ServiceManager
1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照Android R进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要讲述 启动ServiceManager。2. ServiceManager的启动service servicemanager /system/bin/servicemanager class core animation user system group system翻译 2021-09-10 21:55:18 · 790 阅读 · 0 评论 -
Android binder学习笔记0 - 概述
1. 前言本文主要是binder系列文章的总结笔记,主要是理清binder的总体流程和总体架构,期间会对照源码进行代码重读,也会按照自己的理解对内容进行调整,以加深对binder总体的理解。本文主要概述部分。Android:RLinux: kernel4.192. binder架构以activity调用ActivityManagerService的startServcie为例:Java应用层: 对于上层应用通过调用AMP.startService, 完全可以不用关心底层,经过层层调用,最终必翻译 2021-09-10 21:53:45 · 208 阅读 · 0 评论 -
关于Android handler - looper
关于Android handler-loop机制的工作原理,主要参考了参考文档中的Android 多线程之HandlerThread 完全详解,要理解Android handler-looper机制,实践上就是要搞清楚handler、looper、HandlerThread、Callback之间的关系。HandlerThread作为主线程的子线程在创建后,需要执行start()方法来创建looper,实际上每个线程(包括主线程和HandlerThread)都有一个looper,它实际上是一个消息队列,之后原创 2021-07-22 15:44:06 · 194 阅读 · 1 评论 -
Android - 参考文档
Android知识体系总结2020(全方面覆盖Android知识结构,面试&进阶)原创 2021-07-08 23:25:14 · 288 阅读 · 1 评论 -
Watchdog机制以及问题分析学习笔记
如下文章,作者详细阐述了Android watchdog的实现机制,并用实际案例说明一次watch dog重启发生的原因,个人认为非常有帮助。Watchdog机制以及问题分析翻译 2021-03-18 11:05:01 · 2278 阅读 · 0 评论 -
adb logcat说明
adb logcat说明Android log系统日志缓冲区日志优先级日志过滤编译时过滤系统属性过滤应用过滤显示过滤过滤器控制日志输出格式格式修饰符通过代码记录日志认识输出日志信息常用logcat命令logcat日志分析参考文档Android log系统Logcat 是一个命令行工具,用于转储系统消息日志,包括设备抛出错误时的堆栈轨迹,以及从您的应用使用 Log 类写入的消息。开发者选项中有个选项叫做“日志记录器缓冲区大小”,可以手动设置,日志是循环写入环形缓冲区的,在通常情况下,写满时最旧的日志会被翻译 2020-09-21 11:50:41 · 4476 阅读 · 1 评论