准备发布jfetion了
昨天把build.xml搞好了,现在可以方便地构建整个库,准备发布了,虽然还没有测完全。有些东西实在是不好测,尤其是要一边在虚拟的Windows上用移动官方的fetion登陆,改东西,一边又要在虚拟的Gentoo上写代码、测试,实在是麻烦。先发布一个alpha版本好了。
现在在上班,晚上回去放上来。
昨天把build.xml搞好了,现在可以方便地构建整个库,准备发布了,虽然还没有测完全。有些东西实在是不好测,尤其是要一边在虚拟的Windows上用移动官方的fetion登陆,改东西,一边又要在虚拟的Gentoo上写代码、测试,实在是麻烦。先发布一个alpha版本好了。
现在在上班,晚上回去放上来。
作者没有回答,感觉应该是没门儿了。
jfetion要加快速度了,libfetion已经出新版本了。其实该写的code都已经完了,但是不好测,不知道不停地login,logout移动会不会很怒。
已经解决了很多关键性问题,现在要做的就是一点一点测试了。基本的操作都已经可以了:init,terminate,login,logout,asyncLogin,sendSmsToSelf,getPersonalInfo。都测过来还要很多功夫,不知道什么时候能出个alpha版呢?
不知道能不能基于GPLv3发布呢,毕竟libfetion是闭源的。这个东西我就称之为jfetion吧,感觉很酷。
这个东西没有想像的好弄,尤其是callback函数的处理,昨天搞到半夜才弄明白。
libfetion里面的callback函数不是只调用一次,而且每次有消息过来就会调一把,这样对于JNI的处理就比较麻烦了。因为是callback,所以callback对象和参数都必须加到Global Reference里去,但是什么时候delete掉呢?之前老是把虚拟机跑死,原因就是一旦callback一次后,我就把这些东西delete掉,以至于libfetion再callback的时候就core了。
弄明白这个原因之后,就有了一个简单的解决办法。每次为某个libfetion的函数注册一个callback对象的时候,把它和参数都存到一个数组中,这个对象和参数一直存在,直到再次为这个函数注册callback对象,或者是JNI_OnUnload的时候把它们清除掉。但是这样也有一个问题,这些注册的对象除非是再次为这个函数重新注册,否则几乎没有可能被从Global Reference里移除掉,所以完全不能依靠finalize了,不过这个也没什么,本来就不该依赖这个东西。
Recent Comments