Android泄漏服务连接

时间:2019-05-05 20:17:31

标签: java android android-service android-service-binding serviceconnection

我正在使用JobIntent服务执行一些操作。我从屏幕A说起启动服务。

服务完成工作后,我将从JobIntent服务发送回叫到屏幕A。然后屏幕A立即完成操作并打开一个新的屏幕,说是B。

我能够注意到有一条日志指出服务连接泄漏。以下是日志

android.app.ServiceConnectionLeaked: Activity Package.ScreenA has leaked 
ServiceConnection Package.ServiceName$1@7a41f83 that was originally bound here

此错误是什么意思,如果此错误继续存在,是否有损坏?可以采取什么措施来防止此类错误?

尽管我不确定,但是该服务保留了screenA的上下文引用,这就是为什么可能会发生这种情况?

预先感谢!

2 个答案:

答案 0 :(得分:1)

当心JobIntentService内存泄漏

传递 activity.getApplicationContext()-然后,静态映射将仅间接保存Application对象实例引用。

您可以阅读这篇文章,这将对您有所帮助。

https://medium.com/@luszczuk/watch-out-for-jobintentservice-memory-leak-828a629ab085

信用:MichałŁuszczuk

答案 1 :(得分:1)

enter image description here

@ Rahulrr2602请使用此图表来了解每个限制。