General Design Principles
The goal of designing for on-demand resources is to create an app that provides optimum content and functionality with a responsive user experience. On-demand resources provide the content. Keeping the app responsive requires that you design the tags and and content requests so that resources:
Are available when needed
Have minimal impact during download
Have minimal impact on app memory
Four General Design Principles
Designing any app for on-demand resources follows four general design principles:
Download what you need.
Release resources when you are done.
Optimize with testing.
Some types of apps have additional design considerations; see Patterns of On-Demand Resource Use.
For information on using testing to optimize on-demand resource use, see Optimization with Testing.
Download What You Need
Optimize the number and size of tags to download only the resources you need. For most apps, the target size for a tag is 64 MB. Smaller tag sizes provide a few benefits:
Faster download times
Best use of the maximum memory size for on-demand resources
Best flexibility for preserving cached resources
Downloading early means required resources have the best chance of being ready when the user needs them. Downloading early also minimizes the impact on app performance.
Designing for early download means balancing the time taken to download the required resources and the total amount of on-demand resources in use at any time.
Release When Done
Releasing resources when you have finished with them keeps the maximum amount of on-demand resource memory space open. System caching means that you can usually access previously downloaded resources without requiring another download.