Rationale
Android is an important target for JVM languages. Clojure should run well there
Plan
- Figure out what works and what doesn't
- find it and write it up
- Fast startup
- Small footprint
- Selectively strip metadata?
Issues
- Needs a motivated owner
- Be careful not to compromise Clojure for base and other platforms in making Android work well
- Will we need some sort of conditional compilation?
Findings
- Works out of the box with -RC2
- Current set of articles on the net are very out of date. I will write up a new version tomorrow
- Startup time is a little sluggish, but not too bad
- The bean function causes some unnecessary GC and load time
- zip, xml, and set loading in RT.java add 1-2 seconds on to the load time
- Average load time for a hello world app on stock clojure is 8-9 seconds using my macbook pro and the android emulator running Froyo
- Average load time for a hello world app drops to around 5 seconds with the bean function removed and zip, set, and xml removed from the load in RT.java
Labels: