Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[今日头条]iOS 包大小二进制优化,一行代码减少 60 MB 下载大小

[今日头条]iOS 包大小二进制优化,一行代码减少 60 MB 下载大小

作者头像
用户6094182
发布于 2021-02-05 06:20:22
发布于 2021-02-05 06:20:22
1.3K00
代码可运行
举报
文章被收录于专栏:joealzhoujoealzhou
运行总次数:0
代码可运行

原文链接

一、代码配置

如果使用 xcconfig 来管理构建参数的,如果你也使用该方式,那么使用下面这一行代码就能完成配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
APP_THIN_LINK_FLAGS = -Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab,-rename_section,__TEXT,__const,__RODATA,__const,-rename_section,__TEXT,__text,__BD_TEXT,__text,-rename_section,__TEXT,__textcoal_nt,__BD_TEXT,__text,-rename_section,__TEXT,__StaticInit,__BD_TEXT,__text,-rename_section,__TEXT,__stubs,__BD_TEXT,__stubs,-rename_section,__TEXT,__picsymbolstub4,__BD_TEXT,__picsymbolstub4,-segprot,__BD_TEXT,rx,rx

如果你是没有使用这种方式,在Other Linker Flags中逐行添加以下配置即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring
-Wl,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname
-Wl,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname
-Wl,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype
-Wl,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab
-Wl,-rename_section,__TEXT,__const,__RODATA,__const
-Wl,-rename_section,__TEXT,__text,__BD_TEXT,__text
-Wl,-rename_section,__TEXT,__textcoal_nt,__BD_TEXT,__text
-Wl,-rename_section,__TEXT,__StaticInit,__BD_TEXT,__text
-Wl,-rename_section,__TEXT,__stubs,__BD_TEXT,__stubs
-Wl,-rename_section,__TEXT,__picsymbolstub4,__BD_TEXT,__picsymbolstub4,
-Wl,-segprot,__BD_TEXT,rx,rx

如果你的二进制文件中存在自定义 Section 的话,比如使用了类似attribute((section("__TEXT,__custom_section")))的方式创建了自定义 Section,则可能需要做如下的配置以移走自定义 Section,具体见 「2.3.3 场景三」 的详细分析。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
APP_THIN_LINK_FLAGS = -Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab,-rename_section,__TEXT,__const,__RODATA,__const,-rename_section,__TEXT,__text,__BD_TEXT,__text,-rename_section,__TEXT,__textcoal_nt,__BD_TEXT,__text,-rename_section,__TEXT,__StaticInit,__BD_TEXT,__text,-rename_section,__TEXT,__stubs,__BD_TEXT,__stubs,-segprot,__BD_TEXT,rx,rx,-rename_section,__TEXT,__picsymbolstub4,__BD_TEXT,__picsymbolstub4,-rename_section,__TEXT, __custom_section,__CUSTOM_TEXT,__text,-segprot, __CUSTOM_TEXT,rx,rx

二、验证

1、如何找到Mach-O文件

xcode项目编译后,在项目目录下找到Product文件夹,下面有个xxxx.app的文件,右键show in finder,下面有个和项目同名的可执行文件这个就是Mach-O文件

2、查看Mach-O

在终端进入此文件夹,运行下面命令:比如你的文件名叫MachDemo

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$xcrun size -lm MachDemo

没移动__TEXT之前

mach-o before.png

移动后

mach-o after.png

三、成果

将最新的IPA上传App Store后查看下载大小及安装大小。发现新上传的1.9.3版本明细下载大小减少了十几兆。安装大小也有不同程度的减少。第一列是下载大小,第二列是安装大小。

1.9.2.png

1.9.3.png

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
旷视张祥雨:神经网络架构设计新思路
深度学习模型在很多任务上都取得了不错的效果,但调参却是一项非常痛苦的事情,大量的超参数和网络结构参数会产生爆炸性的组合。因此最近几年神经网络的架构搜索和超参数优化成为一个研究热点。此外,对于架构设计新方法、新机制的探索,也是当下深度学习研究与落地的重点课题之一。
AI科技评论
2021/01/07
1.3K0
卷积神经网络(CNN)基础介绍
本文是对卷积神经网络的基础进行介绍,主要内容包括卷积神经网络概念、卷积神经网络结构、卷积神经网络求解、卷积神经网络LeNet-5结构分析、卷积神经网络注意事项。
全栈程序员站长
2022/07/22
2.5K0
卷积神经网络(CNN)基础介绍
旷视张祥雨:从基础科研的「大」和「统一」,看视觉AI研究新趋势
机器之心报道 机器之心编辑部 在 MegTech 2022 上,旷视研究院基础科研负责人张祥雨表示:“大”和 “统一” 是视觉 AI 基础研究的新趋势。 基础模型科研是 AI 创新突破的基石,每一代基础模型的突破都极大程度地促进了视觉 AI 的发展。7 月 15 日,2022 旷视技术开放日(MegTech 2022)在京举行,旷视研究院基础科研负责人张祥雨在会上分享了他对基础模型科研的深入思考及基础模型组的最新科研成果。 张祥雨表示,「“大”和 “统一” 是当今视觉 AI 基础研究的新趋势。同时,“在致力
机器之心
2022/07/18
6870
旷视张祥雨:从基础科研的「大」和「统一」,看视觉AI研究新趋势
CVPR'21 | involution:超越convolution和self-attention的神经网络新算子
本文是对我们CVPR 2021被接收的文章 Involution: Inverting the Inherence of Convolution for Visual Recognition的解读,同时也分享一些我们对网络结构设计(CNN和Transformer)的理解。
CV君
2021/03/26
1.2K0
卷积神经网络超详细介绍
上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。
全栈程序员站长
2022/06/29
1.4K0
卷积神经网络超详细介绍
Transformer在CV领域有可能替代CNN吗?还有哪些应用前景?
Transformer有可能替换CNN吗?本文总结了来自于知乎问题:“如何看待Transformer在CV上的应用前景,未来有可能替代CNN吗?”下的3个精华回答,对Transformer在CV领域的未来发展提出了有价值的观点。
AI算法与图像处理
2021/01/20
1K0
Transformer在CV领域有可能替代CNN吗?还有哪些应用前景?
McGill&微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!
在本文中,作者提出了一种新的结构,称为卷积视觉Transformer(CvT) ,它通过在ViT中引入卷积来提高视觉Transformer(ViT)的性能和效率。这是通过两个主要修改来实现的:包含卷积token嵌入的Transformer层次结构 ,以及利用卷积投影的卷积Transformer 。
CV君
2021/11/19
1.4K0
视觉变换器与混合模型的图像识别
​ 计算机视觉,作为人工智能领域的关键分支,其发展历程可划分为两个主要阶段:早期基于规则的方法和现代基于深度学习的技术。在早期阶段,研究者依赖于手工设计的特征提取方法,例如SIFT和SURF算法,这些方法虽然在特定应用上取得了成功,但它们的普适性和可扩展性受限,通常需要专业知识来定制特征提取器。随着深度学习技术的兴起,计算机视觉领域迎来了革命性的变化。卷积神经网络(CNNs)的出现,使得计算机能够自动从图像中学习特征表示,极大地推动了图像分类、目标检测和图像分割等任务的发展。CNNs之所以有效,是因为它们模仿了人类视觉系统的工作方式,通过卷积层捕捉局部特征,并通过池化层减少特征的空间维度,同时增强对图像位移的不变性。
Srlua
2024/12/20
2370
视觉变换器与混合模型的图像识别
2025最新卷积神经网络(CNN)详细介绍及其原理详解
本文详细介绍了卷积神经网络(CNN)的基础概念和工作原理,包括输入层、卷积层、池化层、全连接层和输出层的作用。通过举例和图解,阐述了CNN如何处理图像,提取特征,以及如何进行手写数字识别。此外,讨论了池化层的平移不变性和防止过拟合的重要性。 本文是关于卷积神经网络(CNN)技术教程,整体内容从基础概念到实际示例,逐层剖析 CNN 的各个组成部分与作用,并通过手写数字识别案例帮助大家更直观地理解其工作原理。
猫头虎
2025/06/08
1.2K0
2025最新卷积神经网络(CNN)详细介绍及其原理详解
深度概览卷积神经网络全景图,没有比这更全的了
【AI科技大本营导读】深度卷积神经网络是这一波 AI 浪潮背后的大功臣。虽然很多人可能都已经听说过这个名词,但是对于这个领域的相关从业者或者科研学者来说,浅显的了解并不足够。近日,约克大学电气工程与计算机科学系的 Isma Hadji 和 Richard P. Wildes 发表了一篇《我们该如何理解卷积神经网络?》的论文:
AI科技大本营
2018/07/23
4010
谷歌提出纯 MLP 构成的视觉架构,无需卷积、注意力 !
计算机视觉的发展史证明,规模更大的数据集加上更强的计算能力往往能够促成范式转变。虽然卷积神经网络已经成为计算机视觉领域的标准,但最近一段时间,基于自注意力层的替代方法 Vision Transformer(ViT)实现新的 SOTA 性能。从技术上讲,ViT 模型延续了长久以来去除模型中手工构建特征和归纳偏置的趋势,并进一步依赖基于原始数据的学习。
AI科技大本营
2021/06/08
7410
谷歌提出纯 MLP 构成的视觉架构,无需卷积、注意力 !
从AlexNet到残差网络,理解卷积神经网络的不同架构
该文介绍了神经网络模型压缩、加速和量化三个方面的研究进展。其中,压缩技术包括模型剪枝、知识蒸馏等方法,加速技术包括硬件加速、优化算法等方法,量化技术包括量化训练、量化推理等方法。这些技术在不同程度上减小了模型的大小、提高了推理的速度、降低了训练的能耗。
企鹅号小编
2018/01/04
1K0
从AlexNet到残差网络,理解卷积神经网络的不同架构
最强Vision Trabsformer | 87.7%准确率!CvT:将卷积引入视觉Transformer(文末附论文下载)
在本文中介绍了一种称为卷积视觉Transformer(CvT)的新体系结构,该体系结构通过将卷积引入ViT中来产生两种设计结合的最佳效果,从而提高了视觉Transformer(ViT)的性能和效率。
集智书童公众号
2021/05/28
2K0
CNN结构设计技巧-兼顾速度精度与工程实现
宽度(通道数)决定了网络在某一层学到的信息量,另外因为卷积层能重组通道间的信息,这一操作能让有效信息量增大(这也是1x1卷积的作用,它能学习出重组信息,使得对于任务更友好,所以这里不能和分离卷积一起比较,传统卷积的有效卷积数更多,正比于输入通道乘以输出通道,分离卷积的有效卷积正比于输入通道数,传统卷积相当于分离卷积前升维再做分离卷积)。
BBuf
2020/04/15
8930
CNN结构设计技巧-兼顾速度精度与工程实现
Transformer已成新霸主?FAIR等重新设计纯卷积ConvNet,性能反超
视觉识别的快速发展始于 Vision transformer (ViT) 的引入,其很快取代了传统卷积神经网络 (ConvNet),成为最先进的图像分类模型。另一方面, ViT 模型在包括目标检测、语义分割等一系列计算机视觉任务中存在很多挑战。因此,有研究者提出分层 Transformer(如 Swin Transformer),他们重新引入 ConvNet 先验,这样使得 Transformer 作为通用视觉主干实际上可行,并在各种视觉任务上表现出卓越的性能。
机器之心
2022/02/23
5200
Transformer已成新霸主?FAIR等重新设计纯卷积ConvNet,性能反超
深度学习、神经网络与卷积神经网络:研究及应用
在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过深度学习解决若干问题的案例越来越多。一些传统的图像处理技术也可以通过深度学习来获得更优异的效果,比如去噪、超分辨率和跟踪算法等。为了跟上时代的步伐,必须对深度学习与神经网络技术有所学习和研究。
算法进阶
2024/04/12
5860
深度学习、神经网络与卷积神经网络:研究及应用
深度学习基础之卷积神经网络
卷积神经网络(Convolutional Neural Networks, CNN)是深度学习领域的重要分支,其历史发展和关键里程碑可以追溯到20世纪50年代,并经历了多个重要的阶段。
用户11315985
2024/10/16
2890
深度学习基础之卷积神经网络
必须了解的8种神经网络架构
机器学习已经在各个行业得到了大规模的广泛应用,并为提升业务流程的效率、提高生产率做出了极大的贡献。目前机器学习主要在以下方面应用: 模式识别:实际场景中的目标、包括人脸、表情、语音识别等等; 异常检测:例如信用卡交易的异常检测、传感器异常数据模式检测和异常行为检测等; 预测问题:预测股票或者汇率、或者预测消费者喜欢的电影、音乐等。 神经网络是一类机器学习算法和模型的统称,也是目前机器学习发展最快的一个领域。神经网络的架构主要分为三大类——前馈、循环和对称链接网络。神经网络具有如下三个特征使它成为了机器学习
昱良
2018/04/24
2K0
必须了解的8种神经网络架构
【模型解读】“不正经”的卷积神经网络
但是同样的目标,在不同的图片中,会存在位置的偏移,角度的旋转,尺度的大小。卷积神经网络要能够应对这些情况,比如分类任务,对于同样的目标在不同图像中的偏移,旋转,尺度,要输出同样的结果。
用户1508658
2019/07/25
4710
【模型解读】“不正经”的卷积神经网络
卷积神经网络学习路线(三)| 盘点不同类型的池化层、1*1卷积的作用和卷积核是否一定越大越好?
这是卷积神经网络学习路线的第三篇,这一篇开始盘点一下池化层的不同类型和1*1卷积的作用。
BBuf
2019/12/12
1.5K0
卷积神经网络学习路线(三)| 盘点不同类型的池化层、1*1卷积的作用和卷积核是否一定越大越好?
推荐阅读
相关推荐
旷视张祥雨:神经网络架构设计新思路
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验