ABSTRACT

This chapter covers other important concepts in the development of applications for resource-constrained devices. In particular, it touches on memory management, concurrency, dynamic linking, and energy management concepts in Java Platform Micro Edition applications. Memory is a very limited resource in cellular phones, and therefore, it must be managed and used appropriately. In terms of RAM memory, mobile devices usually have two memory areas where variables and execution information are stored, the stack and the heap. Users take it for granted that computers can perform several tasks at the same time. While this is true regardless of the computer, it is more so in cellular phones given the real-time nature of the operations it has to perform. Threads are the fundamental units of program execution. Every application runs in at least one process with at least one thread. A program executes multiple threads in parallel, each in charge of executing one piece or one task of the entire program.