Bas*_*arp 7 android mvvm android-glide android-viewmodel android-architecture-components
我正在尝试在我目前正在编写的新应用程序中遵循 MVVM 模式。
基本上,它从我的 REST-Backend 获取 JSON 中的项目列表,并将其显示在我的片段内的 RecycleView 中。
我创建了一个存储库,它获取数据并将其移交给具有由片段观察到的 LiveData 的 ViewModel。
这一切正常。
但是:每个项目还有一个图标的 url。获取列表后,对于每个项目,我都想将此 url 中的图标加载到 ImageView 中。
实际上,我使用 Glide 直接(异步)将图标加载到相应的 ImageView 中 - 这对 UX 和性能都有好处(在我看来),因为用户在图标在后台加载时已经看到了数据
我的问题:
直接在片段中使用 Glide 会破坏 MVVM 模式吗?
什么是替代方法?
例如在存储库中加载图标,每次获取图标时更新 RecycleView(性能不佳)?
加载图像称为“低级细节”。换句话说,这是架构不应该关心的事情。因此,如果您使用 Glide 或 Picasso,它与应用程序的架构无关。基于此,您当前的状态是“好的”,但是您对替代方法的建议可能会跨越很多红线。浏览 Uncle Bob 的 Clean Architecture 了解更多细节。