1. A method for preloading resources for an application on a computing device, comprising: determining a resource list to preload onto the computing device, wherein determining the list of resources, further comprises: determining a plurality of N-order Markov Chains based on a plurality of application hints associated with a previous execution of the application; combining the plurality of N-order Markov Chains into a prediction graph based on at least one of a subsequence matching algorithm; and processing each common subsequence of the N-order Markov Chains to reduce the number of nodes and edges in the prediction graph and to constrain a size of the prediction graph based on identified common subsequences of the N-order Markov chains, the prediction graph being useable to generate the list of resources; and employing the resource list to preload at least one resource onto the computing device before the application accesses the at least one resource; in response to receiving an application hint associated with the application, dynamically changing the resource list; and preloading the computing device with the resources based on the changed resource list.