Article / 2026/05/31
性能优化 (十七) 如何锁定线程创建者
性能优化 (十七) 如何锁定线程创建者 的技术笔记。
如何锁定线程创建者
锁定线程创建背景
- 项目变大之后收敛线程
- 项目源码、三方库、arr中都有线程的创建
- 避免恶化的一种监控预防手段
锁定线程创建方案
分析
- 创建线程的位置获取堆栈
- 所有的异步方式,都会走到new Thread
- 特别适合Hook手段
- 找Hook点: 构造函数或者特定方法
- Thread的构造函数
DexposedBridge.hookAllConstructor(Thread.class,new XC_MethodHook(){
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable{
super.afterHookedMethod(param);
Thread thread = (Thread) param.thisObject;
Log.i("aa",thread.getName() +"stack"+Log.getStackTraceString(new Throwable()))
}
})
Giscus 未启用:请在
src/site.config.ts中配置 repoId 与 categoryId。