A method for managing application states of a portable computing device having a plurality of processors and a corresponding plurality of processor resources, comprising: maintaining a first resource state set and a second resource state set in memory, wherein a resource state set defines the configurations or states of one or more resources that are used together by a processor in a certain processor application state; issuing a request for a processor operating in a first application state corresponding to the first resource state set to transition from the first application state to a second application state corresponding to the second resource state set; scheduling, with a controller and in response to the request, a start time to begin transitioning resources to states indicated in the second resource state set based upon an estimated amount of processing time to complete transitioning resources to states indicated in the second resource state set; and at the scheduled start time, beginning, with the controller , a process of switching states of one or more resources from states indicated by the first resource state set to states indicated by the second resource state set, characterized in that scheduling, with a controller , a start time to begin transitioning resources to states indicated in the second resource state set is performed such that the process of switching states of one or more processor resources from application states indicated by the first resource state set to application states indicated by the second resource state set does not occur during the process of switching states of one or more processor resources by any other processor in the portable computing device . maintaining a first resource state set and a second resource state set in memory, wherein a resource state set defines the configurations or states of one or more resources that are used together by a processor in a certain processor application state; issuing a request for a processor operating in a first application state corresponding to the first resource state set to transition from the first application state to a second application state corresponding to the second resource state set; scheduling, with a controller and in response to the request, a start time to begin transitioning resources to states indicated in the second resource state set based upon an estimated amount of processing time to complete transitioning resources to states indicated in the second resource state set; and at the scheduled start time, beginning, with the controller , a process of switching states of one or more resources from states indicated by the first resource state set to states indicated by the second resource state set, characterized in that scheduling, with a controller , a start time to begin transitioning resources to states indicated in the second resource state set is performed such that the process of switching states of one or more processor resources from application states indicated by the first resource state set to application states indicated by the second resource state set does not occur during the process of switching states of one or more processor resources by any other processor in the portable computing device . <EOS>