Skip to Main Content
Palm OS Programming, 2nd Edition
book

Palm OS Programming, 2nd Edition

by Julie McKeehan, Neil Rhodes
October 2001
Intermediate to advanced content levelIntermediate to advanced
704 pages
19h 33m
English
O'Reilly Media, Inc.
Content preview from Palm OS Programming, 2nd Edition

Dynamic Memory Allocation

Memory is allocated in chunks, which can be either relocatable (the Memory Manager can move them), or nonrelocatable (they can never move). Since there’s no virtual memory, and since the amount of memory is limited, it’s important to avoid fragmenting available memory.

Tip

Fragmenting means having free memory interspersed with allocated memory so that although there may be enough free memory available to satisfy a particular memory allocation, it isn’t contiguous, and therefore the memory allocation fails.

The Palm OS Memory Manager provides a mechanism for fighting fragmentation: relocatable blocks. When you allocate a relocatable block, you allow the Memory Manager to move that block as necessary to coalesce free memory blocks into contiguous space (see Figure 6-2). Of course, there may be times that you don’t want the memory block to be moved. In such cases, you can lock the block. This tells the Memory Manager not to move it until it is unlocked.

The Memory Manager can shuffle unlocked relocatable blocks as necessary

Figure 6-2. The Memory Manager can shuffle unlocked relocatable blocks as necessary

Using Memory Handles

Since the address of the memory block can move, the Memory Manager doesn’t return a pointer on allocation. Instead, it returns something called a handle . The handle itself doesn’t directly contain the address, instead, you call a Memory Manager routine to lock the handle; it returns the address of the ...

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.
Start your free trial

You might also like

Palm OS Network Programming

Palm OS Network Programming

Greg Winton
Palm Programming: The Developer's Guide

Palm Programming: The Developer's Guide

Neil Rhodes, Julie McKeehan

Publisher Resources

ISBN: 1565928563Errata Page