繁体   English   中英

检查Dagger 2依赖周期的简单方法?

[英]Easy way to check Dagger 2 dependency cycle?

这里。

因此,在我的项目中进行了一些重构之后,我最终遇到了依赖循环SOMEWHERE。 我的具有@Provided依赖项的模块非常庞大,很难理解到底是什么原因。

这是控制台日志: http : //pastebin.com/yxDDEHgz

如您所见,它很大,什么也没告诉我。 有什么方法可以快速检查哪个依赖项注入会导致循环?

您只需要注意以[parameter: …开头的行[parameter: …

如果您注意,您会看到周期如下:

line 16: [parameter: packagename.map.mapservice.IMapService mapService]

line 13: [parameter: packagename.lib.common.IApplicationVisibility mapVisibility]

line 9: [parameter: packagename.lib.notifications.INotificationSettings notificationSettings]

line 7: [parameter: packagename.map.mapcontent.MarkerClickHandler markerClickHandler]

line 5: [parameter: packagename.map.mapservice.IMapService mapService]

在这里,您尝试重新注入IApplicationVisibility因此循环在这里:

line 3: [injected field of type: packagename.lib.common.IApplicationVisibility applicationVisibility]

IMapService-> IApplicationVisibility-> INotificationSettings-> MarkerClickHandler-> IMapService(还是IMapService !!!)-> IApplicationVisibility

您再次将IMapService注入了MarkerClickHandler ,从而开始了循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM