首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
性能优化系列
黑夜给了我黑色的眼睛
创建于2023-09-03
订阅专栏
Android性能优化核心技术,掌握性能优化是进阶高级工程师的必经之路,也是众多大厂面试的高频题目,本专栏会对当下最前沿的性能优化技术进行分析讲解,帮助开发者进阶。
等 103 人订阅
共20篇文章
创建于2023-09-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LeakCanary实现原理分析-从1.x版本到2.x版本
1.x版本 使用 源码 1.LeakCanary是怎么做到install之后自动监测Activity的? 调用install后,会注册一个Activity生命周期的回调监听,registerActiv
Android性能优化系列-腾讯matrix-电量优化之Wifi耗电监控-WifiMonitorFeature源码分析
WifiMonitorFeature作为matrix电量监控中的一环,它的实现是通过hook WifiManager从而拦截到wifi扫描和获取wifi列表这两个方法的执行,并在执行时记录执行的次数和
Android性能优化系列-腾讯matrix-电量优化之BatteryMonitorPlugin源码分析
BatteryMonitorPlugin的工作机制大致可以分为两种,一种是通过各个feature类进行的不同场景下的信息统计;另一种是通过监听如电量、亮屏灭屏等广播来获取信息。
Android性能优化系列-腾讯matrix-流量监控之TrafficPlugin源码分析
流量监控的实现方式是通过hook c++层socket的发起和接收相关的方法,拦截到对应方法从而对过程中涉及到的流量信息进行采集,采集到的数据就可以实时的获取到,以做进一步的分析。
Android性能优化系列-腾讯matrix-内存泄漏监控之ResourcePlugin源码分析
ResourcePlugin监控内存泄漏的方式是当Activity执行onDestroy之后将Activity对象用弱引用包装,并通过多次手动触发gc,检测gc之后对象是否为空的方式来判断是否发生泄漏
Android性能优化系列-腾讯matrix卡顿优化之ThreadPriorityTracer源码分析
为什么说线程优先级会导致卡顿问题?因为不同线程要根据业务的优先级设置合适的优先级,试想假如主线程设置了极低的优先级,导致迟迟得不到cpu的调度,是不是会导致主线程执行缓慢呢?这就是为什么matrix
Android性能优化系列-腾讯matrix卡顿优化之TouchEventLagTracer源码分析
触摸事件的卡顿监控是通过hook底层的socket发送的sendto和recvfrom方法,从而实现对一次触摸事件执行消耗时长的监控。当调用到了recvfrom方法时,说明应用接收到了Touch事件
Android性能优化系列-腾讯matrix卡顿优化之IdleHandlerLagTracer源码分析
IdleHandler是Android系统为开发者提供的一种在消息队列空闲时运行任务的机制,通过IdleHandler执行的任务优先级低于主线程优先级,会在主线程任务执行完成后再执行。
Android性能优化系列-腾讯matrix卡顿优化之ANR监控-SignalAnrTracer源码分析
SignalAnrTracer是严格意义上的anr监控,它基于Linux的信号机制,通过对SIGQUIT信号的监听,再加上一些辅助性的验证逻辑,实现了一个完善的ANR监控方案。
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之ANR监控LooperAnrTracer源码分析
LooperAnrTracer会在消息执行前发送延时消息,若指定时间内,消息执行完成,则延时消息会被排除,若未执行完成,则说明发生卡顿,此时延时消息被执行,收集系统和应用方法执行耗时信息上报。
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之帧率监控FrameTracer源码分析
为什么要监控帧率?根本原因是为了保证帧率的稳定,通常来讲,Android设备大多都是60fps的帧率,也就是画面每秒更新60次,假如应用的帧率能稳定的维持在60,对用户来讲体验是最好的。
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之EvilMethodTracer源码分析
EvilMethodTracer依赖主线程的消息机制运行,以主线程一个VSYNC期间消息执行消耗的时长作为触发点,默认超过700毫秒时认为发现了卡顿的存在......
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之UIThreadMonitor源码分析
UIThreadMonitors总体上就是对LooperMonitor的封装与增强,在此基础上,丰富了各种参数,如消息执行总时间、消息执行期间cpu运行的时间,一个消息中input时间消耗的时间...
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之LooperMonitor源码分析
LooperMonitor是TracePlugin运行的基础能力之一。它通过向应用主线程的Looper设置Printer对象来实现对主线程消息队列运行情况进行监听,从而发现主线程运行卡顿的问题。
Android性能优化系列-腾讯matrix卡顿优化之AppMethodBeat专项分析
AppMethodBeat存储了一定运行时期内主线程方法执行的耗时信息,而当我们发现耗时问题的时候,AppMethodBeat可以为我们提供这些信息,以分析卡顿耗时问题发生的根源
Android性能优化系列-腾讯matrix卡顿优化之ActivityThreadHacker实现原理
ActivityThreadHacker有两个作用,第一解决SharedPreferences导致的卡顿问题;第二,检测应用的application创建完成时机并给予回调。
Android性能优化系列-腾讯matrix-TracePlugin启动优化之StartupTracer源码分析
StartupTracer是matrix中用来监控启动速度的一个trace类,代码位于matrix-trace-canary模块,属于TracePlugin中的专门针对启动场景的一种监控能力。
Android性能优化系列-腾讯matrix卡顿优化之gradle插件- 字节码插桩代码分析
卡顿优化功能对应于matrix中的matrix-trace-canary模块,包含了多方面的卡顿监控,如启动监控、慢方法监控、Anr监控等等,而这些都依赖于matrix底层的一个基础能力-字节码插桩。
Android性能优化系列-腾讯matrix IO优化之IOCanaryPlugin源码分析
matrix 对io的监控包括四个方面:监控在主线程执行 IO 操作的问题、监控缓冲区过小的问题、监控重复读同一文件、监控内存泄漏问题。
Android性能优化系列-Matrix导读
Matrix 是一款由微信团队研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析。