耗电
cpu 网络 定位 图像
优化:1,降低CPU,GPU功耗
2,少用定时器
3,优化I/O操作
4,大数据建议sqlite
5,减少,压缩网络文件
APP的启动
APP启动runtime所做的事情
1.调用map_images进行可执行文件的解析处理
2.在load_images中调用call_load_methods,调用Class和Category的+load方法
3.进行各种objc结构初始化(注册Objc类,初始化类对象等)
4.调用c++静态初始化器和attribute((constructor))修饰函数
到此为止可执行文件 和动态库中所有符号(Class,Protocol,Selector,IMP,....)都已经按格式成功加载到内存中,被runtime管理
启动优化
dyld:阶段
减少动态库,合并动态库 (清理不必要的动态库)
减少Objc类,分类的数量,减少Selector的数量
减少c++虚函数
Swift减少使用结构体
runtime
用+initialize方法喝dispatch_once取代attribute((constructor)),c++静态构造器,objc的+load
main
在不影响用户体验的前提情况下,尽可能将一些演示操作,不要全部放在finshLaunching中
按需加载
安装包瘦身
资源瘦身
编译器优化
APPCode检测未使用的代码
网友评论