添码星空
码到成功
展开
-
Systrace系列12 —— CPU Info 解读
本文主要是对 Systrace 中的 CPU 信息区域(Kernel)进行简单介绍,简单介绍了如何在 Systrace 中查看 Kernel 模块输出的 CPU 相关的信息,了解 CPU 频率、调度、锁频、锁核相关的信息。原创 2023-05-27 13:15:10 · 1416 阅读 · 0 评论 -
Systrace系列11 —— Triple Buffer 解读
Systrace 中可以看到应用的掉帧情况,我们经常看到说主线程超过 16.6 ms 就会掉帧,其实不然,这和我们这一篇文章讲到的 Triple Buffer 和一定的关系,一般来说,Systrace 中我们从 App 端和 SurfaceFlinger 端一起来判断掉帧情况。原创 2023-05-27 13:08:16 · 880 阅读 · 0 评论 -
Systrace系列10 —— Binder 和锁竞争解读
Android 的大部分进程间通信都使用 Binder,这里对 Binder 不做过多的解释,想对 Binder 的实现有一个比较深入的了解的话,推荐你阅读下面三篇文章理解Android Binder机制1/3:驱动篇理解Android Binder机制2/3:C++层理解Android Binder机制3/3:Java层。原创 2023-05-27 11:07:23 · 1132 阅读 · 0 评论 -
Systrace系列9 —— MainThread 和 RenderThread 解读
本文是介绍 Android App 中的 MainThread 和 RenderThread,也就是大家熟悉的和。文章会从 Systrace 的角度来看 MainThread 和 RenderThread 的工作流程,以及涉及到的相关知识:卡顿、软件渲染、掉帧计算等。这里以滑动列表为例 ,我们截取主线程和渲染线程的工作流程(每一帧都会遵循这个流程,不过有的帧需要处理的事情多,有的帧需要处理的事情少) ,重点看 “UI Thread ” 和 RenderThread 这两行上面这个流程在。原创 2023-05-27 11:02:22 · 959 阅读 · 0 评论 -
Systrace系列8 —— Vsync-App :基于 Choreographer 的渲染机制详解
Choreographer 扮演 Android 渲染链路中承上启下的角色承上:负责接收和处理 App 的各种更新消息和回调,等到 Vsync 到来的时候统一处理。比如集中处理 Input(主要是 Input 事件的处理) 、Animation(动画相关)、Traversal(包括 measure、layout、draw 等操作) ,判断卡顿掉帧情况,记录 CallBack 耗时等启下:负责请求和接收 Vsync 信号。原创 2023-05-27 10:42:03 · 1418 阅读 · 0 评论 -
Systrace系列7 —— Vsync 解读
本文主要是是介绍 Android 中的 Vsync 机制。文章会从 Systrace 的角度来看 Android 系统如何基于 Vsync 每一帧的展示。Vsync 是 Systrace 中一个非常关键的机制,虽然我们在操作手机的时候看不见,摸不着,但是在 Systrace 中我们可以看到,Android 系统在 Vsync 信号的指引下,有条不紊地进行者每一帧的渲染、合成操作,使我们可以享受稳定帧率的画面。原创 2023-05-23 21:20:25 · 839 阅读 · 1 评论 -
Systrace系列6 —— Input 解读
本文主要是对 Systrace 中的 Input 进行简单介绍,介绍其 Input 的流程;Systrace 中 Input 信息的体现 ,以及如何结合 Input 信息,分析与 Input 相关的问题。在。原创 2023-05-23 21:15:14 · 566 阅读 · 0 评论 -
Systrace系列5 —— SurfaceFlinger 解读
本文主要是对 SurfaceFlinger 进行简单介绍,介绍了 SurfaceFlinger 中几个比较重要的线程,包括 Vsync 信号的解读、应用的 Buffer 展示、卡顿判定等,由于 Vsync 这一块在和这两篇文章里面已经介绍过,这里就不再做详细的讲解了。这里直接上官方对于—- 引用自那么 Systrace 中,我们关注的重点就是上面这幅图对应的部分。原创 2023-05-23 21:12:33 · 586 阅读 · 0 评论 -
Systrace系列4 —— SystemServer 解读
本文主要是对 SystemServer 进行简单介绍,介绍了 SystemServer 中几个比较重要的线程,由于 Input 和 Binder 比较重要,所以单独拿出来讲,在这里就没有再涉及到。原创 2023-05-23 21:04:45 · 772 阅读 · 0 评论 -
Systrace系列3 —— Why 60 fps ?
本文解释一下为何大家总是强调 60 fps。为何我们讲到流畅度,要首先说 60 帧。在理解了上面的基本概念之后,我们再回到 Android 这边,为何 Android 现在的渲染机制,是使用 60 fps 作为标准呢?这主要和屏幕的刷新率有关。原创 2023-05-21 20:28:09 · 505 阅读 · 0 评论 -
Systrace系列2 —— 预备知识
本文主要是讲解一些分析 Systrace 的预备知识, 主要bao'ku如何查看 Systrace 中的线程状态 , 如何对线程的唤醒信息进行分析, 如何解读信息区的数据, 以及介绍了常用的快捷键. 通过本篇文章的学习, 相信你可以掌握进程和线程相关的一些信息, 也知道如何查看复杂的 Systrace 中包含的关键信息。原创 2023-05-21 20:18:40 · 495 阅读 · 0 评论 -
Systrace系列1—— 简介
Systrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。Systrace 的功能包括跟踪系统的 I/O 操作、内核工作队列、CPU 负载以及 Android 各个子系统的运行状况等。内核部分。原创 2023-05-21 19:43:15 · 646 阅读 · 0 评论 -
AS配置settings.gradle在工程中构建多个项目
环境文章的运行环境为:AndroidStudio版本:3.1.4Gradle版本:3.1.4效果PS:图中应为Module。实现新建一个主工程MultiProject,作为工作空间。在该工程的根目录下新建两个文件夹Demo1,Demo2。(根据需求不限个数)File—>new Module新建两个Module:demo1app,demo2app。在IDE中将d...原创 2020-01-14 20:30:40 · 955 阅读 · 0 评论 -
网络调试助手NetAssist的使用
一、使用场景:项目定制需求:前端的车载终端把gps、报警信息、报警图片、其他检测数据发往约定的第三方服务器,车载终端通过公网(SIM拨号或者有线网)以udp或者tcp连接服务器,并把数据发往服务器。因为项目开发时一般要不到现场实际服务器的ip和端口以及服务器环境。那么就可以通过NetAssist网络助手工具模拟服务器,模拟测试车载端的数据是否能够发送正常、正确。二、软件介绍(1)软件界...原创 2020-01-11 22:05:06 · 26146 阅读 · 2 评论 -
UML六种依赖关系
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1.泛化(Generalization)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有...原创 2019-07-10 19:19:45 · 6489 阅读 · 1 评论 -
Git中SSH公钥配置
首先下载安装git:https://git-scm.com/downloads/一路默认,安装完成后,打开文件夹C:\Users\Administrator\.ssh(Administrator是当前用户名),在空白处点鼠标右键选择“Git Bush Here” ,打开gitbush。配置用户名和邮箱:$ git config --globaluser.name"your_nam...原创 2020-01-14 20:25:06 · 694 阅读 · 0 评论 -
AndroidStudio Debug调试使用
AndroidStudio目前已经成为开发Android的主要工具,用熟了可谓相当顺手。作为开发者,调试并发现bug,进而解决,可是我们的看家本领。正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse、Idea,Android Studio也为我们提供了强大的调试技巧,今天我们就来看看Android Studio中有关调试的技巧。首先,来看看Android studio中为我们...原创 2019-07-10 17:55:30 · 7043 阅读 · 0 评论