zygote
2011年12月21日
Androidのinit.rcでは複数のserviceをまとめて扱うclassを定義することができます。この機能は以前からあったのですが、使われていませんでした。
Android 4.0ではinit.rcを少し修正することで、ZygoteなどAndroidのframeworkのserviceが起動する前の、最小限の構成までで止めることができます。
2011年03月03日
2010年10月14日
Androidの起動時に最初のDalvikVMのプロセスであるZygoteではJavaのクラスのpreloadingというテクニックが使われています。
全てのJavaのプロセスはZygoteからforkして作られるので、Zygoteでpreloadingされたクラスは、新しいJavaのプロセスでは最初からロードされた状態から始まります。これによって、個々のJavaのプロセスの起動の高速化とシステム全体としてのメモリ使用量の削減を実現しています。
このクラスのpreloadingというのは、さぞかし特別なことをやっていると思いきや、 そのソースはとても単純なものでした。
続きを読む
全てのJavaのプロセスはZygoteからforkして作られるので、Zygoteでpreloadingされたクラスは、新しいJavaのプロセスでは最初からロードされた状態から始まります。これによって、個々のJavaのプロセスの起動の高速化とシステム全体としてのメモリ使用量の削減を実現しています。
このクラスのpreloadingというのは、さぞかし特別なことをやっていると思いきや、 そのソースはとても単純なものでした。
続きを読む