iOS进阶有意思iOS开发你需要知道的

iOS App 瘦身 - 以 Swift App Yep 为例

2016-10-14  本文已影响3789人  Damonwong

文章最后有我的 12 条小总结。

写在前面

分析

Yep是一款很优秀的 Swift 开源软件。

目录划分

Yep IPA

资源层面

Remote

ODR 模式 ODR 缓存策略

Local

Local 集成方式
Local 开发使用方式列举分析。
启动图

iconfont

期中,PDF 和 iconfont 两个都是矢量的概念,但是 iconfont 在整个 App 中不管多少种尺寸只需要一个 iconf,但是 PDF 可能需要多个。

HTML 5

其他

代码层面

Install Smallest VS. Coding Fastest

语言选择

数据库选择

FMDB Realm RealmSwift

MRC VS. ARC

总结

Bitcode


Tips

结合上面的内容,再加上Bang大神写的博客,我总结了几条 Tips。排名越往前的我觉得越需要去优化。

Tip 1:去除重复、无用资源文件,解决名字重复问题。
Tip 2:图片使用.xcassets管理且无须考虑@1x@2x@3x 问题。万不得已再用的办法,同时结合一定策略方案进行包瘦身。
Tip 3:图片使用PDF 优先级高于 PNG,因为 Xcode 会帮你完成剩下的任务。
Tip 4:使用tinypng压缩PNG图片。视频可以通过 Final cut 等软件进行分辨率压缩。音频则降低码率即可。
Tip 5:icon 使用 iconfont
Tip 6非必须资源文件可以放到自己服务器上, 但必用资源文件需要内置到安装包中。
Tip 7:HTML 5 需要将图片 Remote 化 或者将整个HTML 5 的页面 Remote化。
Tip 8:Build Settings->Optimization Leve release版应该选择Fastest, Smalllest
Tip 9:开启 BitCode

以下是几乎不可能去做的优化 Tips

Tip 10:尽可能的去除无用的代码、控制类名、方法名长度、冗余字符串
Tip 11:如果你想的话,不使用 Swift、不使用 Realm更甚至于尽量不使用 OC 😁
Tip 12:MRC 比 ARC 编译成可执行文件之后更小。

更多:工作之余,写了点笔记,如果需要可以在我的 GitHub 看。


参考文章

上一篇 下一篇

猜你喜欢

热点阅读