1. A wireless device comprising: a network interface configured to exchange data with a communication network; an input device configured to receive one or more inputs; and a processor electrically connected to the network interface, the processor being configured to: determine whether the device is in a background state or a foreground state based on the presence or absence of one or more inputs; execute a plurality of applications configured to communicate with the communication network via the network interface; collect one or more communication statistics, for one or more of the plurality of applications, when the device is in the background state; and when the device is in the foreground state, either: collect, separately from the communication statistics collected when the device is in the background state, the one or more communication statistics; or refrain from collecting the one or more communication statistics; and wherein the network interface is further configured to receive an instruction from a server, the instruction comprising at least one of: a list of applications the processor should include and/or exclude when delaying communications; or a list of application socket operations the processor should include and/or exclude when delaying communications.