0

我正在使用 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 的上下文引用,这就是为什么会发生这种情况?

提前致谢!

4

2 回答 2

2

注意 JobIntentService 内存泄漏

传递activity.getApplicationContext()  ——然后静态映射将间接持有 Application 对象实例引用。

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

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

图片来源:Michał Łuszczuk

于 2019-05-05T20:36:32.367 回答
1

在此处输入图像描述

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

于 2019-05-10T00:47:36.253 回答