如下这个文章所述messenger的使用方式,会导致内存泄漏。 http://blog.csdn.net/huaciom/article/details/7232302 原因是一个进程A中的callbackA会被另一个进程B持有。callbackA中如果包含context,泄漏就很大了。所以,需要确保callbackA在B中被及时释放。我们需要注意的是,即使在B中把callbackA的引用置为null,B进程的gc不一定会回收callbackA这样的小对象,这样进程A中的callbackA对象及它所引用的一切对象就都无法得到及时释放。所以,我建议是:1,尽量减少这种使用方式,使用aidl,广播等传递消息。2,如果一定要用,尽量减少callbackA的生命周期,并及时释放引用,同时手动调用gc,增加回收速度。
android中的messenger会导致内存泄漏
最新推荐文章于 2020-08-11 18:40:21 发布