ASM对匿名内部类、Lambda及方法引用的Hook研究

计算机软件开发 2024-9-30 12:23:39 59 0 来自 中国
ASM在安卓开发中的应用非常广泛,本文重点探究通过ASM对匿名内部类、Lambda表达式及方法引用的Hook。
安卓的编译流程中Java文件会被编译成.class,.class会被编译成.dex。而ASM的实行机遇就是在.class编译成.dex的过程中发生的。因此要想通过ASM修改自己码就须要知道我们的Java文件编译成的.class是怎样的。
PS:本文假设你对ASM有肯定了解。
一,匿名内部类方式

我们在口试时常常会提及handler的内存走漏标题,缘故起因是匿名内部类默认会持有外部类的引用,因此巴拉巴拉。。。
那么匿名内部类为什么会持有外部类的引用,编译后又是什么样子呢?我们撸代码看下。
写一段简单的启动线程的代码:
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 21:03, Processed in 0.144343 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表