Android 泄漏的服务连接
Android Leaked Service Connection
我正在使用 JobIntent 服务执行一些操作。我从屏幕 A 开始服务。
在服务执行其工作后,我从 JobIntent 服务向屏幕 A 发送回调。然后屏幕 A 立即完成自身并打开一个新的屏幕 B。
我注意到有一条日志指出服务连接泄漏。下面是日志
android.app.ServiceConnectionLeaked: Activity Package.ScreenA has leaked
ServiceConnection Package.ServiceName@7a41f83 that was originally bound here
这个错误是什么意思,如果这个错误继续存在是否有任何损害?可以采取哪些措施来防止此类错误?
尽管我不确定,但该服务保留了屏幕 A 的上下文引用,这就是为什么会发生这种情况?
提前致谢!
注意 JobIntentService 内存泄漏
通过activity.getApplicationContext() — 那么静态映射间接地只持有Application对象实例引用。
你可以阅读这篇post这对你有帮助。
https://medium.com/@luszczuk/watch-out-for-jobintentservice-memory-leak-828a629ab085
图片来源:Michał Łuszczuk
@Rahulrr2602 请使用此图表了解每个图表的局限性。
我正在使用 JobIntent 服务执行一些操作。我从屏幕 A 开始服务。
在服务执行其工作后,我从 JobIntent 服务向屏幕 A 发送回调。然后屏幕 A 立即完成自身并打开一个新的屏幕 B。
我注意到有一条日志指出服务连接泄漏。下面是日志
android.app.ServiceConnectionLeaked: Activity Package.ScreenA has leaked
ServiceConnection Package.ServiceName@7a41f83 that was originally bound here
这个错误是什么意思,如果这个错误继续存在是否有任何损害?可以采取哪些措施来防止此类错误?
尽管我不确定,但该服务保留了屏幕 A 的上下文引用,这就是为什么会发生这种情况?
提前致谢!
注意 JobIntentService 内存泄漏
通过activity.getApplicationContext() — 那么静态映射间接地只持有Application对象实例引用。
你可以阅读这篇post这对你有帮助。
https://medium.com/@luszczuk/watch-out-for-jobintentservice-memory-leak-828a629ab085
图片来源:Michał Łuszczuk
@Rahulrr2602 请使用此图表了解每个图表的局限性。