扑减肥大战

频道:闲鱼技术 日期: 浏览:660
作者:无鱼技术

微信号:ccjun91
添加微信群,试用软件
复制微信号

2018年上半年,idle fish技术团队率先引入颤振技术,实现客户开发。到目前为止,它已经成功转型并推出了复杂的商品细节和出版业务。随着改造业务的增加,安装包的数量急剧增加。安装包卷决定了用户等待下载的时间和可能消耗的流量。如何控制安装包的体积,减小颤振产品的尺寸已成为当务之急。本文从idle fish客户端项目实践的角度给出了一些通用的数据包大小检测和优化方案,希望能为对Flitter感兴趣的团队提供参考。

闲置鱼客户采用了颤振和诞生地的混合开发模式。接下来,我们以跨网络操作系统为例,分析了项目中颤振产品的尺寸(i p a)(包装瘦身的需求更为迫切)。

网络间操作系统工程取决于颤振,如下所示:

颤振框架:颤振库和引擎应用。框架:d a r t业务相关源代码文件flatter plug-in:编译各种插件的框架。Flatter u资产:Flatter依赖的静态资源,例如字体、图片等

在首次引入颤振版本转换详细信息页面后,ipa包的大小增加了近2000万,包括颤振引擎代码的转换业务代码。在页面颤振转换继续发布后,ipa增加了4000万。在对ipa文件进行进一步分析和解压缩后,发现颤振框架在2000万的大小上保持稳定,添加了一项新的颤振业务——发布页面之后,应用程序将继续运行。框架增加了近10米!

颤振框架是颤振库和发动机的代码。我们能做的优化空间是有限的。首先,我们应该关注与gallop业务相关的文件应用程序。在镜框上。

执行以下命令以在发布模式下编译应用程序。框并使用参数打印产品的特定尺寸

结果如下:

描述:表示o t编译后生成的二进制代码大小

r e a d o n l y d a t a:表示元数据(例如p c d e s c r i p t o r、s t a c k m a p、c o d e s u r c m a p等)以及生成的二进制代码的字符串大小

vm is o l a t e/isolation:表示剩余对象的大小之和(例如代码中定义的常量和特定于虚拟机的元数据)

具体到业务层,如果我想分析每个业务模块占用的大小,我应该怎么做?

执行以下命令编译基于r m 64体系结构的应用程序。框架,并将其包组合结构放入指定的目录中以构建/AOT。在JSON文件中,使用gallop命令转换上一步生成的AOT。将JSON文件转换为具有可视化结构的网页

运行二进制大小分析。gallop是gallop提供的一种分析工具。颤振引擎源代码中的路径如下所示:

在生成的文件夹中打开索引h t m l,以分析特定业务占用的大小。右上角的大符号和大文件按钮可以直接定位大小体积比的方法/文件。

例如,上述分析表明,该方法占用了大量的体积。该方法的主要操作是将地图数据转换为对象

由此可以推断,这种类型转换操作将导致编译并生成一些大型代码。

减少显示类型转换操作

价值姿色的姿色钱提单分析发现显示的类型转换这epdm操作将风灾应用program。框架体积no2姿色姿色nincrease,主要的它将增加类型支票的汲到货规模较大的发黑逻辑:

通过提取静态常用方法,可以成功地将体积减少40000。

通过编译参数和减少生成的代码量

指示生成的动态库文件中未使用堆栈跟踪符号

表示混乱。通过减少变量名/方法名来减少代码量

通过修改internet操作系统打包脚本x c o d e u后端。嘘,删除d s y m符号表信息文件,应用程序。框架成功地缩小了20%。DSYM是存储十六进制函数地址映射信息的传输文件。它包含我们调试的符号,用于分析崩溃报告文件并分析正确的错误函数信息。

使用xcrun命令将dsym从框架中分离出来,可以极大地减少应用程序。框架的体积。

减少因出生地的聊天和资源重复而导致的数量增加

使用桥接方法,颤振直接使用平台端资源文件,以避免资源文件重复导致的数据包大小增加。

主要方式是通过基础信息通道在颤振端和平台端传递信息。颤振端将资源名称和资产名称传输到站端。接收到资产名称后,站端根据名称定位资源文件,并通过基本信息通道以二进制数据格式将文件传回颤振端。

颤振引起的安装包体积问题将给许多技术团队带来麻烦。通过以上措施,颤振产品得以应用。框架的大小将减少30%,而闲置FISH技术团队也会考虑下载和延迟加载,以减少资源的数量;继续在代码生成方面进行各种比较,检查并避免编写更大的产品,并与谷歌进一步寻找优化空间。

没有供应的闲置鱼类的做法是什么?如何做到这一点?游手好闲的鱼没有货源。闲置市场规模超过万亿。二手电子商务迎来了循环经济的红利。

 

“校园圈”真的能成为游鱼生长的第二个引擎吗?如果闲置的鱼被恶意退回怎么办?开店时如何提高闲置鱼的暴露率?

复制成功

微信号: ccjun91
添加微信群,试用软件

我知道了
添加微信

微信号: ccjun91
添加微信群,试用软件

一键复制加过了
18749471747
微信号:ccjun91添加微信
ccjun91