0%

简介

随着时间的推移,Git存储库变得越来越大。 将大文件添加到Git存储库后:

  • 个人电脑硬盘空间有限,仓库较多时,占用了大量存储空间。
  • 由于每个人都必须下载文件,因此获取代码库的速度变慢。
  • 它们占用服务器上的大量存储空间。
  • 会达到Git仓库的存储限制。
    重写存储库会删除不需要的历史记录,从而使存储库更小。 git filter-repo是用于快速重写Git存储库历史记录的工具。
阅读全文 »

为什么进行二进制重排

当用户点击 App 启动的时候,系统会创建进程并为进程申请一块虚拟内存,虚拟内存和物理内存是需要映射的。当进程需要访问的一块虚拟内存页还没有映射对应的物理内存页时,就会触发一次缺页中断 Page In。这个过程中会发生 I/O 操作,将磁盘中的数据读入到物理内存页中。如果读入的是 Text 段的页,还需要解密,并且系统还会对解密后的页进行签名验证。所以,如果在启动过程中频繁的发生 Page In 的话,Page In 引起的 I/O 操作以及解密验证操作等的耗时也是影响很大的。需要注意的是,iOS13 及以后苹果对这个过程进行了优化,Page In 的时候不再需要解密了。


阅读全文 »

为什么出现卡顿

屏幕显示图像是需要CPU和GPU结合工作。CPU 负责计算显示内容,包括视图创建、布局计算、图片解码、文本绘制等,CPU 完成计算后,会将计算内容提交给 GPU;GPU 进行变换、合成、渲染,将渲染结果提交到帧缓冲区,当下一次垂直同步信号(简称 V-Sync)到来时,将渲染结果显示到屏幕上。

UI视图显示到屏幕中的过程:
此处输入图片的描述

阅读全文 »

线上性能监控

CPU

CPU 是移动设备最重要的计算资源,设计糟糕的应用可能会造成 CPU 持续以高负载运行,一方面会导致用户使用过程遭遇卡顿;另一方面也会导致手机发热发烫,电量被快速消耗完,严重影响用户体验。

阅读全文 »

我每天使用 Git ,但是很多命令记不住。

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
此处输入图片的描述

下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。

阅读全文 »