another application instance. Within the Java application launcher if the user
re-selects the application icon the launcher will attempt to locate a running
instance of the application and if found, the application’s window is displayed.
5 Conclusion
Within this paper we have presented a set of optimisation techniques for improv-
ing the performance and usability of J2ME based mobile appliations. Within the
set, individual optimisations were provided that can be used independently or
combined. We applied these techniques to a real world mobile application and
demonstrated the performance improvements that were gained.
Future work includes evaluating the benefits of AOT compilation, and inves-
tigating other techniques that can address performance issues such as memory
usage, network bandwidth, and battery power.
References
1. Java 2 platform, micro edition, Frequently Asked Questions, January 2004.
http://java.sun.com/j2me/reference/faqs/index.html.
2. JSR 118 Mobile Information Device Profile 2.0, January 2004.
http://jcp.org/en/jsr/detail?id=118.
3. JSR 46 J2ME Foundation Profile, January 2004.
http://jcp.org/en/jsr/detail?id=46.
4. Websphere Studio Device Developer Websphere software, January 2004.
5. M. Berger, S. Rusitschka, M. Schlichte, D. Toropov, and M. Watzke. Porting
Agents to Small Mobile Devices - the Development of the Lightweight Extensible
Agent Platform. EXP in search of innovation special issue on JADE, 3(3):32–41,
2003.
6. K. Ishizaki, M. Kawahito, T. Yasue, H. Komatsu, and T. Nakatani. A study of
devirtualization techniques for a Java Just-In-Time compiler. In Proceedings of
the 15th ACM SIGPLAN conference on Object-oriented programming, systems,
languages, and applications, pages 294–310, 2000.
7. M. Kok. Developing a DB2 Everyplace Java Application
using WebSphere Studio Device Developer., January 2002.
http://www-106.ibm.com/developerworks/websphere/registered/tutorials/0212_kheng/kheng.html.
8. M. Laukkanen. Java on Handheld Devices - Comparing J2ME Cdc to Java 1.1 and
Java 2, January 2004.
http://citeseer.nj.nec.com/473890.html.
9. H. Lee, P. Mihailescu, and J. Shepherdson. A Multi-Agent System to Support
Team-Based Job Management in a Telecommunications Service Environment. EXP
in search of innovation special issue on JADE, 3(3):96–105, 2003.
10. G. Muller, B. Moura, F. Bellard, and C. Consel. Harissa: a Flexible and Efficient
Java Environment Mixing Bytecode and Compiled Code. In Proceedings of the
Third USENIX Conference on Object-Oriented Technologies and Systems, 1997.
11. J. Shirazi. Java Performance Tuning (2nd edition). O’Reilly and Associates, 2003.
12. P. Tyma. Tuning Java Performance, January 2004.
http://www.ddj.com/documents/s=962/ddj9604e/.
13. S. Wilson and J. Kesselman. Java Platform Performance: Strategies and Tactics.
Addison-Wesley Pub Co, 2000.
82