世界互联网大会|iOS-代码细节优化四( 二 )
全量代码打包更有利于编译器做更多优化 。
3.使用Slice共享内存优化性能 。 使用Array/String时 , 可以使用Slice切片获取一部分数据 。 Slice保存对原始Array/String的引用共享内存数据 , 不需要重新分配空间进行存储 。
4.当protocol仅限制为class使用时 , 继承AnyObject协议可以使编译器不需要考虑值类型实现 , 提高运行时性能 。
5.使用lazy延时初始化属性(lazy属性不能保证线程安全) 。
6.private let属性会增加每个class对象的内存大小 。 同时会增加包大小 , 因为需要为属性生成相关的信息 。 可以考虑使用文件级private let申明或static常量代替 。
7.某些场景需要使用didSet/willSet属性检查器监控属性变化 , 做一些额外的计算 。 但是由于didSet/willSet并不会检查新/旧值是否相同 , 可以考虑添加新/旧值判断 , 只有当值真的改变时才进行运算提高性能 。
还有很多很多细节这里就不一一列举了 。 处了影响性能和基本的一些细节 , 多数还是要团队间做好配合 。
- 滴滴出行|裁员真能拯救中国互联网?
- 早报:华为P50 Pocket新色预售 百度世界大会定档
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- 陨石|小行星“打水漂”闯入地球 形成世界最长陨石陨落带
- 创业|八成互联网电视非法采集用户数据, 彩电企业怎么办?
- 世界最干旱沙漠传来消息,长出18亿棵树,科学家:令人担忧
- 量子专家的硬核实验1:宇宙共有3个世界,人类可进阶高层次世界
- 地心世界存在吗?多个地下隧道被发现,地下或存在高级文明(上)
- 世界上最孤独的“手”,他握住一棵树长达50年,却从来没有松过手
- 华为|中国第二家“华为”诞生,国产品牌正悄悄征服世界!
