Common Design Patterns for Symbian OS: The Foundations of Smartphone Software
by Adrian A. I. Issott
Chapter 3. Resource Lifetimes
This chapter contains a collection of patterns about when and how to allocate resources, but before we go any further we need to understand what we mean by a resource. For our purposes, a resource is defined as any physical or virtual entity of limited availability that needs to be shared across the system. This can be broken down into two further types:
Ephemeral resources, such as CPU cycles or battery power, have one key trait: you can't hold on to them or reserve them for your own purposes. They're there but you can't keep a grip on them whether you use them or not.
Ownable resources, such as RAM, disk space and communication channels, are resources that you can hold onto and keep using. Such resources must normally be reserved for your sole use. During the period that they are allocated to you, these resources cannot be shared or borrowed by anyone else until you de-allocate them.
In this chapter, we'll be focusing on ownable resources and how to balance the non-functional characteristics of sharing them across asystem.
Whatever their type, the resources available to software on a mobile device, are much more constrained than on your average laptop or desktop PC. Compared to mainstream laptops, mobile devices are between 10 and 30 times smaller in terms of CPU speed, RAM size and storage space and are set to remain so in relative terms even as they increase in absolute terms. This is partly to do with the fact that mobile devices are expected ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access