- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 Suspend流程介绍
检测suspend流程是否能触发,并继续走下去,能看到是内核与用户空间通过wakeup_count这个媒介一起配合完成的(参考pm_save_wakeup_count的实现),而在写入wakeup_count完成后,内核继续在suspend 执行路径里面做这种异常的检测,基本是在suspend路径中比较耗时的动作前后插桩检测,见pm_wakeup_pending的实现,如果我们想要知道在suspend过程中是因为哪些wakeup events的出现导致了流程被中止,在这里可以做下标识。
2023-07-08 10:21:30
1110
1
原创 低功耗蓝牙(BLE)的信道划分及跳频机制 #理论与现实#
每一个物理信道的可用性由芯片控制器通过主动或被动电磁环境评估来确定,或由芯片的主机层提供信息,周边设备也可向中心设备发送物理信道可用性报告(蓝牙5.3版本新增的特性),但最终的信道地图均统一由中心设备更新并通知与其相连接的周边设备。这些射频信道进一步被划分为3个主广播信道和37个一般用途信道,其中主广播信道用于连接前的初始广播及所有传统广播活动,一般用途信道则主要用于设备间的数据通信。下表显示了射频信道与物理信道索引的映射关系,表中的●表示此射频信道及物理信道索引在特定用途中被使用。
2023-06-26 15:16:06
3814
1
转载 什么是HTTP/2?
HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载速度。HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则,它主要修改了HTTP的报文传输格式,通过引入二进制分帧实现性能的提升。目录。
2023-06-07 11:02:16
866
原创 Android bitmap color blend(HUE,SATURATION,COLOR,LUMINOSITY)
Android平台 color blend
2023-05-11 15:36:23
121
原创 Andorid 系统下对package做AOT编译的命令
adb shell cmd package compile -m speed -f "包名"
2023-05-09 11:15:17
324
原创 Android上的ART虚拟机
ART 有多个不同的 GC 方案,这些方案包括运行不同垃圾回收器。默认方案是 CMS(Concurrent Mark Sweep,并发标记清除)方案,主要使用粘性(sticky)CMS 和部分(partial)CMS。粘性CMS是ART的不移动(non-moving )分代垃圾回收器。它仅扫描堆中自上次 GC 后修改的部分,并且只能回收自上次GC后分配的对象。除CMS方案外,当应用将进程状态更改为察觉不到卡顿的进程状态(例如,后台或缓存)时,ART 将执行堆压缩。
2023-05-05 09:26:34
1062
原创 Android打印Trace堆栈
1.1 当前线程Trace1.2 目标进程Trace生成trace文件保存在文件对于debuggerd命令,若不带参数则输出tombstones文件,保存到目录其中dumpKernelStackTraces()只能用于打印当前进程的kernel线程1.3 小节。
2023-05-04 13:13:19
2850
原创 Java Collections Framework Cheat Sheet
March 05, 2014Java Collections Framework (JCF) implements the Abstract Data Type for Java platform. Every serious Java programmer should familiar himself on this topic and be able to choose the right class for a specific need. A thorough introduction to
2023-04-28 11:45:26
96
转载 Android Security: An Overview Of Application Sandbox
【代码】Android Security: An Overview Of Application Sandbox。
2023-04-28 08:51:46
101
转载 What is program break? Where does it start from,0x00?
【代码】What is program break?
2023-04-11 16:24:13
90
转载 从JVM到ART
我们再来看经过编译后生成的class文件和dex文件,class文件java文件经过javac编译器生成的,有多少java文件就有多少个class文件,对于手机这样对内存和存储空间有限的设备来说,太多的class的文件就有点不划算了,而且查找太耗时,必须优化。HotSpot基于栈的,基于栈的虚拟机有一个操作数栈的概念,虚拟机在进行真正的运算时都是直接与操作数栈(operand stack)进行交互,不能直接操作内存中数据,也就是说不管进行何种操作都要通过操作数栈来进行,即使是数据传递这种简单的操作。
2023-04-11 15:14:01
306
1
转载 当dex分包遇上NoClassDefFoundError&ClassNotFoundException
惯性思维思考问题容易陷入盲区相信证据,当证据和常识相违背时,给证据多一点信任,深入分析其根因当解决问题遇到瓶颈时,不要忘记重新审视问题本身,挖掘每一条细微的线索,并认真对待关于NoClassDefFoundError Crash的技术总结:使用java类的静态变量时,会触发类的加载操作,类加载过程会初始化类的所有静态变量,如果静态变量初始化失败,将导致类加载失败,并抛出java.lang.ExceptionInInitializerError异常。
2023-04-10 09:57:10
314
1
转载 Android adb命令打印activity堆栈
使用 adb dumpsys activity activities 答应当前activities堆栈的方法
2023-02-17 08:10:00
408
华为C&C++语言安全编程规范-V3.1
2023-06-21
android python bpftrace 等工具
2023-05-11
Intents 和Intent filter 理论介绍
2010-09-15
FTP客户端和服务器端C#实现
2009-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人