crazytuzi
crazytuzi
当前的set函数中,如果一个值已经存在,会设置失败。拓展之后对已经存在的值也能设置上,方便Runtime的时候动态设置一些变量,减少打包次数以及用于Debug。 当传递一个const引用的struct时,会先new一个指针v出来,然后传递到push函数中,push函数中对于struct会先申请一段内存,同时把指针v对应的内容拷贝过去,最后,将指针v加入到cache中。这个做法会导致两个问题,第一个,将指针加入到cache这件事自身没有意义,因为每次都是new出来的指针,getObjCache始终会失效;第二个,removeObjCache是针对拷贝出来struct,并没有对指针v,导致指针v一直没有被释放,导致内存泄露。这里有一种修复方式为,当传递struct时,取消cache,并且delete掉new出来的指针。   