Many smartphone applications, e.g., file backup, are intrinsically delay-tolerant so that data processing and transfer can be delayed to reduce smartphone battery usage. In the literature, these energy-delay tradeoff issues have been addressed independently in the forms of Dynamic Voltage and Frequency Scaling (DVFS) problems and network selection problems when smartphones have multiple wireless interfaces. In this paper, we jointly optimize the CPU speed and network speed to determine how much more energy can be saved through the joint optimization when applications can tolerate delays. We propose a dynamic speed scaling scheme called SpeedControl that jointly adjusts the processing and networking speeds using four controls: application scheduling, CPU speed control, wireless interface selection, and transmit power control. Through invoking the "Lyapunov drift-plus-penalty" technique, the scheme is demonstrated to be near optimal because it substantially reduces energy consumption for a given delay constraint. This paper is the first to reveal the energy-delay tradeoff relationship from a holistic perspective for smartphones with multiple wireless interfaces, DVFS, and multitasking capabilities. The trace-driven simulations based on real measurements of CPU power, network power, WiFi/3G throughput, and CPU workload demonstrate that SpeedControl can reduce battery usage by more than 42% through trading a 10 minutes delay when compared with the same delay in existing schemes; moreover, this energy conservation level increases as the WiFi coverage extends.Index Terms-CPU speed scaling, energy-delay tradeoff, heterogeneous wireless networks, multitasking, network interface selection, transmit power control.