Android 效能优化
文章平均质量分 73
HongChengDarren
忘记不了铭记,坚持不了放弃,但只要活着...
展开
-
自己来动手实现 Native Hook
Native Hook 是我们性能优化中最常见的手段之一,推荐大家用开源的方案像和等等,会用这肯定是最基础的,其次我们一直都追求知道原理并且要自己能写。今天这里我们自己来实现一套简单的 Native Hook ,我们只写关键代码。有了以上基础知识,我们实现起来就会变得简单了,虽然过程中可能会遇到一些问题,但前期我们只需要确保流程和方案没问题就行。其实主要就是两步:首先,读取 /proc/self/maps 文件内容,找到目标 so 文件的基地址;原创 2023-01-10 14:30:33 · 583 阅读 · 0 评论 -
电量优化 - Hook 系统服务
那么现在我们可以开始给自己的 App 开发电量异常检测功能了,实现的方案就是用系统源码类似的计算方案,在 App 内部进行电量统计,主要也就两个部分:线程监控与系统服务调用监控。套路印象中至少应该讲了十次,第一步肯定首先是要看源码流程了,第二步找单例和接口切入点,第三步就是设计实现类。看到这里第二步的方案已经出来了,单例就是 WifiManager 而接口对象就是 WifiManager 中的 mService 对象,只要 Hook 住 mService 就可以了,在。一文中就是用的这种方案。原创 2022-09-04 13:13:19 · 1121 阅读 · 0 评论 -
Gradle 插件 + ASM 实战 - JVM 虚拟机加载 Class 原理
开篇就提到效能优化涉及的范围会很广,考虑后面需要经常用到 asm 字节码插桩,我们首先从 《Gradle 插件 + ASM 实战》开始讲,但又希望大家能知其然也知其所以然,因此我们首先得讲下 JVM 虚拟机加载 Class 字节码的原理。这往往也是我面试新同学必问的一个内容,因为如果对这个不了解的话,像插件化与热修复、性能优化、覆盖率统计等等很多功能都是不好实现的。小公司很少有人用,这也是实话,至于大家要不要学,这就看个人情况了,其实也不是用不用得上的问题,就看大家愿不愿意做一个吃螃蟹的人。我们主要从以下三原创 2021-01-09 16:38:32 · 584 阅读 · 2 评论