IOS开发项目中的一些基本优化

一  内存优化

虽然现在的项目中大都使用了ARC(自动引用计数)技术,但是还是会出现一些内存泄漏的情况,常见的如:

1.block的循环引用

2.代理(delegete)和NSTimer等对对象的强引用

3.使用一些非objc对象的内存分配

关于1和2的问题,我们可以在类的dealloc方法里面打印相关的日志信息,来监测是否正常的释放了。如果本应该释放的类没有执行dealloc方法,则说明类里面的代码出现了内存泄漏。

关于3的问题,编写相关代码的时候需要自行注意了,特别是在使用系统C语言风格的API时候,注意看帮助说明是否需要相对应的释放。

二  运行优化

写入一些类别方法来避免代码编写中的一些常见闪退问题。常见的闪退问题如:

1.调用了不存在的方法

2.可变数组,字典等插入nil元素或者越界的index使

解决方案可以使用runtime swizzled来进行一些优化处理,好处是在不改变方法调用的前提下,加入自己的判断逻辑,从而避免闪退。具体的实现可以通过类别的方式。

三 项目文件组织优化

根据以往的经验,主要可以优化为几点:

1.避免过大的全局头文件。一个项目中可能有很多全局的设置,比如基本样式的设置(字体的颜色,大小,主题的颜色,背景的颜色等.),还有一些全局的宏定义,还有一些全局的类等,如果全部糅合在一起,会导致项目中文件加入很多无用的头文件,可能你只想使用全局的样式,但是不得不包含全部的一些类等信息,所以要规划好这些头文件的内容,分多个头文件去处理,对于几乎每个类都要使用到的可以放在项目target对应的.pch文件中。

2.常见的一些文件分类,比如category,网络模块,包括一些单例类之类的,归纳到各自的文件夹。

3.业务逻辑的代码文件具体怎么分,根据自己的设计模式来,可以是MVC,可以是MVVM.

4.第三方类库或者自己的某些类库,使用cocoapods来管理。


PS:在平时的开发积累中,会有大量的类库或者好的category或者一些非常实用的宏定义,这些都可以收集起来。新开一个工程模板的项目,积累我们开发中的成果,为以后的开发打下坚实的基础。

你可能感兴趣的:(IOS开发项目中的一些基本优化)