Closed hzq19920817 closed 3 years ago
![Uploading 1601214758(1).jpg…]()
下载完成会释放的呀DownloadService#releaseResources(),DownloadManager#release()
我这边是这样的,这边在mainactivity里面提示更新,下载成功没有安装,然后继续操作APP,有一个recreate()操作,之后就提示了这个内存泄漏,然后我就在recreate()之前执行了manager.cancel();和manager.release();,但是还是提示updatedialog还持有context,现在我这边是同过反射拿到了context手动为null了,然后configuration.getOnDownloadListener().clear(),stopService(),现在就没有泄漏了。。
那我们这边就是下载完成把getOnDownloadListener() 这里清空一下应该就行了
应该是的,不过也提供了getOnDownloadListener()我们也可以手动清,服务也可以手动停止,不过这个updatedialog里面的context我也不知道为什么持有,按理说用的是manager里面的静态变量,调用了release()应该是为null了
那就那里加个弱引用
可以的,我这边没什么问题了,辛苦了
可以使用3.0.1版本了
建议凡是引用了context的地方,在DownloadManager.release()里面都释放掉