为了解决内存泄漏的问题,会使用到弱引,这样可以让程序被杀死的时候尽快释放被引用的实例。
今天碰到一个问题,就是在使用弱引用的时候传入一个回调监听,但是执行的时候发现又没有执行回调,打印log发现,回调一直为null所以一直没有执行。一步一步排查,发现引用的监听是一个局部变量,在方法局部使用之后就被回收了,所以一直无法执行回调。
解决的办法:将申明的局部变量变为全局变量就可以解决被回收的问题。
为了解决内存泄漏的问题,会使用到弱引,这样可以让程序被杀死的时候尽快释放被引用的实例。
今天碰到一个问题,就是在使用弱引用的时候传入一个回调监听,但是执行的时候发现又没有执行回调,打印log发现,回调一直为null所以一直没有执行。一步一步排查,发现引用的监听是一个局部变量,在方法局部使用之后就被回收了,所以一直无法执行回调。
解决的办法:将申明的局部变量变为全局变量就可以解决被回收的问题。