Gone Mobile Podcast
Gone Mobile Podcast
Greg Shackles, Jonathan Dick
92: Background Tasks can be Shiny
58 minutes Posted Feb 2, 2024 at 5:00 pm.
Introduction and Virtual List View
The Story Behind the Nickname 'Red'
Backgrounding in Mobile Development
Backgrounding on Android
Backgrounding on iOS
Background Transfers on Android
Background Transfers on iOS
Background Transfers
Handling Slow APIs
Background Tasks in iOS 13
Managing State in Background Jobs
One-Off and Scheduled Jobs
Background Execution in iOS
Passing State to Background Jobs
Challenges of Data Synchronization
Background Execution in Windows
Background GPS in iOS
Background GPS in Android
Considerations for Background Tasks
Background Tasks in CarPlay and Android Auto
0:00
58:28
Download MP3
Show notes
In this episode, Jon and Allan discuss backgrounding in mobile development. They start by reviewing the virtual list view and how it solved Allan's problem. Then, Jon reveals the story behind his nickname 'Red.' The conversation then shifts to backgrounding in mobile development, covering common scenarios such as data synchronization, image uploads, and real-time GPS. They explore the different approaches to backgrounding on Android and iOS, including the use of services, broadcast receivers, foreground services, and job scheduling. Finally, they discuss background transfers on both platforms. This episode explores background transfers, background tasks, and code execution in mobile apps. The hosts discuss the challenges of handling slow APIs, managing state in background jobs, and scheduling one-off and periodic jobs. They also delve into the intricacies of background GPS in iOS and Android, as well as the considerations for background tasks in Windows. The episode concludes with a brief mention of background tasks in CarPlay and Android Auto.
Takeaways
Backgrounding in mobile development is the ability to execute code when an app is not in the foreground.
Common scenarios for backgrounding include data synchronization, image uploads, and real-time GPS.
On Android, backgrounding can be achieved using services, broadcast receivers, foreground services, and job scheduling.
On iOS, backgrounding is more restricted, with foreground services and background transfers being the primary options.
Developers should consider the specific platform guidelines and limitations when implementing backgrounding functionality. Background transfers are useful for uploading or downloading large files or data sets.
Managing state in background jobs can be challenging, but there are various ways to handle it, such as using preferences or messaging frameworks.
Background GPS in iOS and Android allows for tracking location and other data, but it should be used judiciously to avoid excessive battery drain.
Background tasks in Windows can be achieved using WinRT APIs, but they may be less relevant in desktop scenarios.
Consider the specific use case and user needs before implementing background tasks, and be mindful of the impact on battery life and data usage.
People
Hosts: Jon Dick, Allan Ritchie
Audio Engineer: Jim Heath
Chapters
Links:Shiny Jobs