We present an optimization framework for delay-tolerant data applications on mobile phones based on the Markov decision process (MDP). This process maximizes an application specific reward or utility metric, specified by the user, while still meeting a talk-time constraint, under limited resources such as battery life. This approach is novel for two reasons. First, it is user profile driven, which means that the user’s history is an input to help predict and reserve resources for future talk-time. It is also dynamic: an application will adapt its behavior to current phone conditions such as battery level or time before the next recharge period. We propose efficient techniques to solve the optimization problem based on dynamic programming and illustrate how it can be used to optimize realistic applications. We also present a heuristic based on the MDP framework that performs well and is highly scalable for multiple applications. This approach is demonstrated using two applications: Email and Twitter synchronization with different priorities. We present experimental results based on Google’s Android platform running on an Android Develepor Phone 1 (HTC Dream) mobile phone.