Easy Job Scheduling with Android-Job In the modern app development era, running some background tasks outside the scope of an application’s life-cycle have become one of the key requirements. These tasks may be as simple as just reminding the user of something or as complex as syncing local data with server and fetching latest data periodically to provide better user experience. Implementing these features in Android is really challenging and you have to be very careful with your app performance along with other aspects such as battery life. Android provides several APIs for scheduling background work (beyond the app life-cycle). 1. JobScheduler JobScheduler was introduced in Lollipop and its the most efficient way to perform background work, especially networking. It performs background work based on conditions, not on time. These conditions may be whether the device is connected to a network, charging or idle.