iOS UIViewController的瘦身计划】的更多相关文章

代码的组织结构,以及为何要这样写. 那些场景适合使用子控制器,那些场景应该避免使用子控制器? 分离UITableView的数据源和UITableViewDataSource协议. MVVM的重点是ViewModel,不是响应函数式. MVVM中,ReactiveCocoa或RXSwift实现数据绑定的带来的弊端. 用策略模式替代if-else或switch这样判断比较多,不利于代码阅读的分支结构.并在特定场景下,用策略模式解决模块调用问题. 为什么要较少模块间跨层数据交流. 一.代码结构 在说控…
Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主要原因就是考虑应用的下载转化率和留存率. 应用太大了, 用户可能就不下载了, 尤其是移动网络或者流量收费的情况下. 再者, 因为手机空间问题, 用户有时候可能需要选择卸载一些应用, 就会先盯上那些占空间大的, 所以应用大小也会也影响留存率. 但现在什么时代了, 到处都是WiFi, 流量包又大又便宜,…
1.Bitcode 随着 Xcode7 的发布,Apple 提供了一项新的技术来支持 App 瘦身功能,那就是 Bitcode. 1.BitCode 是什么 Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the store. Including…
在我们提交安装包到App Store的时候,如果安装包过大,有可能会收到类似如下内容的一封邮件: 收到这封邮件的时候,意味着安装包在App Store上下载的时候,有的设备下载的安装包大小会超过100M.对于超过100M的安装包,只能在WIFI环境下下载,不能直接通过4G网络进行下载. 在这里,我们提交App Store的安装包大小为67.6MB,在App Store上显示的下载大小和实际下载下来的大小,我们通过下表做一个对比: iPhone型号 系统 AppStore 显示大小 下载到设备大小…
前沿 很早之前写过一篇相关文章,不过博客主机上跑路了之后数据没了,凭着记忆补了下相关资料 ipa安装包瘦身 清理无用图片,图片压缩(PNG换WebP和JPG),处于某种不可抗拒的原因,导致有部分3X图没有被App Thining处理,这部分3x图是否可以删除只用2x图.(这一条一般收益很小,因为大部分团队都会注意) 特殊字体文件 如果有自己封装的库,检查下静态库和动态库情况,不要该打静态库的不注意输出的是动态库,这个我们之前犯过错 App Code重构,找出无用代码(这个工作量大,但是对下面te…
本文来自网易云社区 作者:饶梦云 1. 安装包组成 谈到 App 瘦身,最直接的想法莫过于分析一个安装包内部结构,了解其每一部分的来源.解压一个 ipa 包,拿到其 payload 中 app 文件的数据,整理归类后其大致如下: Exectutable: 可执行文件 Resources:资源文件 图片资源:Assets.car/bundle/png/jpg 等 视频/音频资源:mp4/mp3 等 静态网页资源:html/css/js 等 视图资源:xib/storyboard 等 其他:文本/字…
本文来自网易云社区 作者:饶梦云 2.4. 清理无用代码 2.4.1. Dead Code Stripping Activating this setting causes the -dead_strip flag to be passed to ld(1) via cc(1) to turn on dead code stripping. Remove functions and data that are unreachable by the entry point or exported…
Orchard CMS是针对CMS开发的,对于很多开发需求来说,内容管理这块儿可能并不需要,而需要它的模块式开发模式.所以我这里通过对OrchardCMS进行瘦身,去除 内容管理部分的内容,保留简单的运行环境和基础的模块.需要做的工作: 去除Orchard Framework的内容管理部分,同时去除Orchard Framework依赖内容管理的相关内容. 去除Orchard Core部分的部分module,只保留Sharpe和Setting两个模块. 去除内容管理和博客管理的相关模块,只保留支…
     随着客户端业务的增多和业务的更新,App包大小越来越大,优化包大小是迫在眉睫,客户端需要优化的地方也有很多,本期主要讲如何查找无用图片并且删除无用图片的方法.      方案1:(暴力方法)很简单写一个脚本把图片的名称在整个工程下查找即可,查不到就说明这张图片是无用的.(对于小的工程这样方案是可以的,但是对于工程大的项目查找太慢了).      方案2:把所有的赋值语句提取出来放到一个文件中,再把工程下面的图片名称获取出来在这个文件中查找,若查找不到则说明此图片是无用资源.由于工程中的…
http://maniacdev.com/2014/01/tool-a-ruby-gem-allowing-you-to-quickly-find-and-remove-unused-imports-in-objective-c-files 这里介绍的脚本可以帮助找到不用的import,自己可以决定是否删除那些不用的类 http://maniacdev.com/2013/01/tool-for-finding-unused-images-within-an-xcode-project-to-he…