自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 开启binder驱动 log

分析binder问题,需要开启log。由于内核是底层,log不能随便加随便开。不然性能撑不住。

2024-04-12 17:21:35 212 1

原创 Binder问题分析方法

上层分析1. watchdog堆栈导出/data/system/dropbox 目录,可以导出watchdog Log2. watchdog堆栈分析详情:Watch dog堆栈分析3. 尽情期待内核分析1. 开启binder log有2种方法:1、修改系统配置 2、修改binder.c源码详情:开启binder log2. 导出内核dump信息详情:内核dump分析3. 分析dump信息4.5. 尽情期待尽情期待。

2024-04-12 16:09:41 218 1

原创 Watch dog堆栈分析

tid=470代表在watch dog里的线程id。sysTid代表整个binder的线程id。1、查看watch dog的堆栈。

2024-04-09 17:18:03 221 1

原创 内核dump分析

内核报错时,需要分析dump文件。不同的cpu平台,需要使用不同的工具。

2024-04-07 10:45:11 170

原创 进程ADJ

系统运行,内存过低时,需回收内存。回收就需要判断进程优先级,ADJ代表进程优先级。

2024-03-22 10:40:41 236

原创 安卓内存优化

安卓内存优化,涉及应用层、框架层、内核层。应用层侧重于使用层面,须有良好的内存使用习惯。框架层、内核层则是在aosp的基础,进一步优化系统内存管理机制。

2024-03-18 19:29:07 424

原创 安卓添加vendor hook

在include/trace/hooks/目录下,创建头文件xxx.h。定义hook函数。

2024-01-18 21:04:47 709

原创 binder驱动流程

整个binder通信流程中,binder驱动在内核层,作为“中转站”,对通信进行流转。FW、native调用binder驱动,本质上通过系统调用ioctl,向内核发送请求。内核通过cmd匹配各个case进行响应。

2024-01-11 15:15:24 400

原创 内核代码常用知识

内核打印日志pr_info(“xuanfengwuxiang====kernel log\n”);项目2项目3

2023-12-15 18:53:05 387

原创 内核调试常用terminal指令

2. 监控内核日志,关注加载情况。手动加载ko,并关注日志。1. 手动加载ko文件。

2023-12-15 18:50:03 363

原创 向内核添加新驱动

需要向内核添加定制功能时。

2023-12-12 19:57:05 441

原创 git常用操作

git常用操作新代码,标准提交步骤git add .git commitgit push origin HEAD:refs/for/分支名字基于上一个commit msg进行提交 git commit --amend本地分支,拉取remote分支的代码1. git branch --set-upstream-to=origin/远程分支名 本地分支名2. git pull --rebase尽情期待本地分支,拉取remote分支的代码

2023-12-05 14:36:07 380

原创 Binder通信

aidl通信的本质是对binder的封装。

2023-10-30 17:04:03 43

原创 Map接口

分为HashMap、LinkedHashMap、HashTable、ConcurrentHashMap、TreeMap。:底层数据结构是哈希表,线程不安全。键的唯一性需要key覆写hashCode()、equals():线程安全,比HashTable效率高。对Entry数组分段,每段加锁,不同段同步操作不影响。:底层数据结构是红黑树,key的排序需要使用Comparable和Comparator。:底层数据结构是哈希表和链表,保持存入与读取的顺序一致性。:底层数据结构是哈希表,线程安全。

2023-05-25 20:45:35 44

原创 Set接口

Set分为HashSet、LinkedHashset、TreeSet

2023-05-17 10:42:15 38

原创 List接口

分为ArrayList、Vector、LinkedList。:底层数据结构是数组。查询快,增删慢,线程不安全。:底层数据结构是链表。查询慢,增删快,线程不安全。:与ArrayList相似,线程安全。

2023-05-09 16:44:41 50

原创 集合的分类

集合分类的架构

2023-05-05 18:17:10 72

原创 安卓启动流程

启动流程概览启动流程详情

2023-05-05 16:51:20 47

原创 安卓应用层必知必会

梳理应用层必知必会。

2023-05-04 19:52:31 58

原创 安卓架构总览

为了按照架构记住知识点。

2023-05-04 19:46:58 63

原创 avb签名流程

安卓系统在启动的时候,需要保证每个镜像挂载的完整性和安全性。所以需要一套开机安全机制。所以就有avb。avb签名已经来到了2.0版本。学习avb签名流程,其实就是学习现代的数字签名。

2023-04-13 19:41:43 1025

原创 基于aosp配置自己的product

做个备忘,尽情期待~~~

2023-04-03 15:33:35 119

原创 安卓构建自定义镜像

构建自定义image。是整机开发需要掌握的知识点。从build_custom_images.mk开始到build_custom_image.mk到build_image.py再到avbtool.py是一个整个构建流程。搞清楚流程,更好的进行客制化

2023-03-23 20:50:10 1220

原创 Android.mk的GNU make语法

1、安卓系统编译,使用了makefile,所以学习make语法。2、安卓Build System会收集所有的Android.mk,转换成ninja用于构建。

2023-03-03 18:01:06 307

原创 IO流功能总结

1、     SequenceInputStream  序列流:可以整合多个字节输入流同时输出2、     ByteArrayOutputStream   内存输出流:可以将内容写到内存3、     ObjectOutputStream   对象输出流:可以将对象(任意数据)序列化4、     PrintStream 打印字节流:PrintStream.println()打印字符串,P

2016-12-04 18:23:12 252

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-12-04 15:35:00 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除