O'Reilly logo

Palm OS Programming, 2nd Edition by Neil Rhodes, Julie McKeehan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Owner IDs

While your application is running, all memory blocks that are allocated are automatically marked with an owner ID as belonging to the application. When the application quits, the Memory Manager scans the dynamic heap, freeing any such marked blocks, while leaving any system blocks alone.

Tip

We shouldn’t need to tell you that a well-written application should clean up after itself and not rely on this behavior of the system. Given the realities of application development, however, it is a good thing for users that this system behavior exists. Otherwise, starting and then stopping an application might suck up space in the dynamic heap. Such a bug would be very aggravating.

Owner IDs are useful for debugging as well. If you run your application with 3.5 OS or later debugging ROM (see Chapter 7), the owner IDs are used to warn you if you haven’t freed all the memory you’ve allocated when you quit the application.

Persistent Memory and Owner IDs

Sometimes, while your application is running, the system needs to allocate system memory whose contents are maintained (for example, if an application opens TCP/IP, the system allocates memory, including buffers, that remain even when the application closes). It marks a block as system memory by setting the owner ID to 0.

Although it doesn’t happen often, occasionally, an application may need to allocate a memory chunk that is maintained when the application closes. The best example of this case is when Application 1 launches Application ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required