ModelLoader
A factory interface for translating an arbitrarily complex data model into a concrete data type that can be used by an DataFetcher to obtain the data for a resource represented by the model.
This interface has two objectives: 1. To translate a specific model into a data type that can be decoded into a resource.
2. To allow a model to be combined with the dimensions of the view to fetch a resource of a specific size.
This not only avoids having to duplicate dimensions in xml and in your code in order to determine the size of a view on devices with different densities, but also allows you to use layout weights or otherwise programmatically put the dimensions of the view without forcing you to fetch a generic resource size.
The smaller the resource you fetch, the less bandwidth and battery life you use, and the lower your memory footprint per resource.
Parameters
The type of the model.
The type of the data that can be used by a to decode a resource.