@ayang008 写道:
如图,setAnimation得到的TrackEntry在返回给js的时候调用了sptrackentry_to_jsval,后者的函数体中会根据地址作为key去map里面找过去的entry,找到就返回。
在setAnimation的函数实现中可以看出,每次返回的Entry都是new出来的,而且全局搜索会发现在spine中没有调用过jsb_remove_proxy去删除map中的entry,这就有一定几率获得之前释放过的相同地址,导致setAnimation之后调用的sptrackentry_to_jsval拿到过去setAnimation所加入map的entry,而这样,该entry的成员就不会得到更新,数据是错误的。
帖子: 2
参与者: 1