
性能调优
文章平均质量分 79
大海之狂
技术开发是兴趣,工作是责任,学习是态度。
展开
-
Android系统-性能-优化概述
刚才说的卡顿是用户直观感知的,从显示的角度看卡顿问题的话就是丢帧掉帧引起的。由于性能影响因素多,比如本文分类的APP,内存,网络,卡顿都是互相影响的。避免内存泄露:长生命周期的对象引用了短生命周期的对象。线程问题:将AsyncTask和Runnable设为静态内部类或独立出来,在线程内部采用弱引用保存Context引用。静态变量问题:将内部类设为静态内部类或独立出来使用context.applicationContext()使用proGuard代码混淆工具,包括压缩,优化,混淆等功能。原创 2023-08-26 01:23:47 · 563 阅读 · 0 评论 -
Off-CPU分析
采用通常作为每个CPU计时器中断,然后检查当前正在运行的中断进程,生成On-CPU profile,一个Off-CPU采样器需要不同的方式工作:在每个应用程序线程中设置计时器以唤醒他们并捕获堆栈,或者让内核按一定间隔遍历所有线程并捕获其堆栈。Off-CPU的分析是一种性能分析的方法,用于测量和研究Off-CPU的时间以及堆栈跟踪等上下文。在这里,我们的目标是阻塞和Off-CPU的时间段。在本节中,主要介绍Off-CPU时间作为指标,并总结Off-CPU的分析的技术,作为Off-CPU的示例实例。原创 2023-04-26 23:19:25 · 1022 阅读 · 1 评论 -
eBPF技术介绍
eBPF程序是事件驱动的,当内核或应用程序通过某个挂接点时 运行。预定义的挂钩包括:系统调用函数进入/退出内核跟踪点网络事件和其他一些。如果不存在用于特定需求的预定义挂钩,则可以创建内核探针(kprobe)或用户探针(uprobe),以将eBPF程序连接到内核或用户应用程序中的几乎任何位置。原创 2023-04-25 17:03:31 · 1510 阅读 · 0 评论 -
BPF技术整理笔记
21年因为项目需求而要开发一个工具,可以满足:故障排查,问题分析,统计数据等需要。开始实现的比较简单,就是针对抓取的log数据进行各个维测数据的解析和处理。具有如下几种缺陷:1、log内容主要还是借助于简单的printf和printk的内容,这类打印信息量不足。主要是release的版本不可能有太多此类的信息,否则会严重影响系统的性能。2、信息量少也意味着无法有效支撑问题问题的相关信息追溯,无法进行有效的数据统计。因此很多监控和买点方案就无法有效实现。3、无法将工具有效整合到整个软件开发工程中去。原创 2023-04-24 23:29:48 · 712 阅读 · 0 评论 -
eBPF开发工具链
有几个开发工具链可以帮助开发和管理eBPF程序。原创 2023-04-25 17:10:01 · 292 阅读 · 0 评论