release与debug编译方式
2019-01-25 本文已影响8人
kangomake
以下是Debug 和 Release很难看出的问题
因为Debug和Release和内存分配和释放方式是不同的,Debug模式下内存会延迟释放,weak的对象会延迟,但Release下进行了优化,所以达到释放条件会立即释放
weak 很重要,能解决循环引用的问题,但使用时需要小心,如果是weak属性; 创建的对象没有变量引用而直接赋值,Release情况下会立即释放,Debug下会延迟释放,如果不知道这个问题,很难排查出原因
-
Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
-
而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。