2010年10月14日 AndroidのZygoteでのJavaのクラスのpreloading Androidの起動時に最初のDalvikVMのプロセスであるZygoteではJavaのクラスのpreloadingというテクニックが使われています。 全てのJavaのプロセスはZygoteからforkして作られるので、Zygoteでpreloadingされたクラスは、新しいJavaのプロセスでは最初からロードされた状態から始まります。これによって、個々のJavaのプロセスの起動の高速化とシステム全体としてのメモリ使用量の削減を実現しています。 このクラスのpreloadingというのは、さぞかし特別なことをやっていると思いきや、 そのソースはとても単純なものでした。 少し長いですが、そのpreloadingを行っているメソッドのソースをまるごと貼付けてみます。 frameworks/base/