关于编译策略(OPtimization Level)导致的bug


前段时间开发项目使用到 Realm数据库进行数据存储,发现在Debug模式的时候没有任何问题,而在Release模式下却出现读取不到数据的情况。
检测代码没有问题
将真机测试时的数据下载到mac下查看Relam的数据:

关于编译策略(OPtimization Level)导致的bug_第1张图片

发现realm中存在数据,数据库也没有问题!
推测可能是xcode在debug和release模式下编译设置不一样所致


在build setting中找到Optimization Level选项发现Release模式下是-Os选项,Debug模式下是-O0选项。
将release的编译策略修改为-O0,在进行测试,Realm可以读取数据。

关于编译策略(OPtimization Level)导致的bug_第2张图片
编译策略修改

编译策略是对代码编译过程的优化(c->汇编),优化后的代码效率比较高,但是可读性比较差,且编译时间更长。
更多编译策略描述。

你可能感兴趣的:(关于编译策略(OPtimization Level)导致的bug)