Patterns of On-Demand Resource Use
Most apps access on-demand resources in one of three patterns. Those patterns guide the design approach, shown in column 3 of Table 12-1.
Name |
Example |
Access pattern |
Design approach |
---|---|---|---|
Random access |
Browsing app |
No pattern |
|
Limited Prediction |
Open world game |
Access subset based on current app state |
|
Linear Progression |
Leveled game |
Access order highly predictable |
|
Many tags. Enables downloading only what is needed or might be needed.
Small tag sizes. Provides several benefits:
Faster downloads
Optimal app performance
Best-use memory limits for on-demand resources
Minimized penalty for downloading tags that are not needed
Progressive loading. Enables a smooth experience by downloading the resources for the next phase of the app as soon as the user starts the current phase.
Loading subsets based on the app state. Downloads resources for the next likely app states.
For example, in an open world game the current game location constrains the next set of location resources.
Quickly ending access to unused tags. Frees up memory for more on-demand resources. This is particularly important for apps that download subsets of resources based current app state.
Downloading in advance. Enables a smooth progression through the app.
Linear progression apps tend to have larger amounts of resources associated with each stage. Downloading in advance is important for uninterrupted game play and maximizing performance.
Ending access to tags when done. Enables more free space for the next stage in a linear progression app.
Copyright © 2018 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2017-01-12