On Mobile Java Memory Consumption

Source: Parallel, Distributed, and Network-Based Processing, 2006. PDP 2006. 14th Euromicro International Conference on, Nokia Research Center, p. 7 pp. (2006)
Publication Type: Article
Abstract: Novel environments based on virtual machines, including Java in particular, liberate the developer from considering memory allocation. While the developer should then in principle disregard details of memory usage, and let the virtual machine master allocations, the environment may force the developer to consider memory-related restrictions when composing systems. This is currently a clear constraint for software development in mobile devices like phones. In this paper, we study memory consumption of Java in mobile setting by describing impact of static and dynamic data structures on memory consumption. We provide measurements to illustrate the effects of some memory saving techniques, provide rules of thumb for a programmer in this particular environment and introduce some tools that can automate parts of the memory usage optimization process. Towards the end of the paper, we also list some directions for future work to better understand the compromises related to memory footprint at application level.