美文网首页
iOS 项目优化

iOS 项目优化

作者: HLoveff | 来源:发表于2021-03-22 14:03 被阅读0次
在开发中不可避免会遇到项目的优化,可能是内存的管理,可能是包的管理和性能的优化等,在这就说一下一些常见的优化方式手段。
一:模块划分
1.对项目中一些模块,类,扩展等有一个良好的划分
二:应用瘦身
1.清理出一些未使用的图片,可以使用一些工具脚本找出项目中未使用的图片,结果不是非常准确,但是可以自行判断(网上找到的一个python脚本,仅供参考:https://github.com/lefex/TCZLocalizableTool/blob/master/LocalToos/unUseImage.py)
2.图片的压缩可以使用[ImageOptim](https://imageoptim.com/howto.html)
3.代码的瘦身,[LinkMap](https://github.com/huanxsd/LinkMap)
 三:性能优化
1.内存 使用instruments leaks 检测 打开: Product -> Profile -> Leaks点击CellTree、下方筛    选定位泄漏代码,修改工具只是辅助你寻找泄漏的地方,具体是否泄漏还需要自行判断
2.卡顿,图片的丢帧,屏幕的刷新率FPS动画或滑动的效果
3.图形的渲染优化
4.离屏渲染
5.启动优化
四:合理利用runtime机制
使用RunTime 尽量避免 crash

程序运行中难免会出现崩溃,这里我们可以使用runtime尽量避免一些常见的崩溃错误: eg: 给NSArray 替换 objectAtIndex:方法
+ (void)load {
[NSClassFromString(@"__NSArrayI") swapMethod:@selector(objectAtIndex:) currentMethod:@selector(mq_objectAtIndex:)];
}

  • (id)mq_objectAtIndex:(NSUInteger)index
    {
    if (index >= [self count])
    {
    return nil;
    }
    return [self mq_objectAtIndex:index];
    }
  • (void)swapMethod:(SEL)originMethod currentMethod:(SEL)currentMethod;
    {
    Method firstMethod = class_getInstanceMethod(self, originMethod);
    Method secondMethod = class_getInstanceMethod(self, currentMethod);
    method_exchangeImplementations(firstMethod, secondMethod);
    }
    Load方法替换 objectAtIndex 为 mq_objectAtIndex ,当调用objectAtIndex时会走到mq_objectAtIndex,判断是否越界,以此来预防数组越界的crash 其他类像NSDictionary、NSString也可以自行添加

iOS项目优化还有挺多方面的,包括电池优化等等

参考链接:
https://juejin.cn/post/6940919835308064799
https://www.jianshu.com/u/1e8432e01e5a

相关文章

  • iOS 如何优化项目

    iOS 如何优化项目 iOS 如何优化项目

  • iOS性能优化篇小结(一)

    iOS性能优化篇小结(二) 随着公司项目逐渐的稳定,前段时间在项目中引入了一个性能检测的工具,同时 iOS性能优化...

  • iOS学习技术栈

    iOS学习需要掌握的技术点,以及项目性能优化

  • iOS项目优化

    别人是如何做优化的 App启动的完成过程 1. App启动过程 • 解析Info.plist ▪ 加载相关信息...

  • iOS 项目优化

    前言 近期正处于一段工作空白区,也想着学习学习一下项目优化,所以就自己的项目出手,一步一步地优化项目。 一、项目结...

  • iOS 项目优化

    程序运行中难免会出现崩溃,这里我们可以使用runtime尽量避免一些常见的崩溃错误: eg: 给NSArray 替...

  • iOS 性能优化

    ios性能优化(一)ios性能优化(二)ios性能优化(三)

  • iOS 性能优化内存优化学习

    iOS APP渲染性能优化iOS性能优化之内存(memory)优化iOS内存和性能优化

  • IOS的性能优化包括哪几点

    iOS性能优化总结 iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • iOS必读 - 收藏集 - 掘金

    iOS 性能优化总结 - iOS - 掘金关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

网友评论

      本文标题:iOS 项目优化

      本文链接:https://www.haomeiwen.com/subject/alxaxltx.html