ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2013年3月19日 星期二

dalvik & preload classes

第一個 Zygote 啟動時,先 preload 大多數需要的 class 進 ram 裡。
之後 收到 socket 的 command 再 fork 一個 process 來啟動一個 activity,
所以那個 activity 啟動的時候,所有的 class 都已經 load 好了---

又因為 linux fork 的動作只是把 memory map 到 fork 的 process,
並沒有作 copy memory ,所以 fork 超快。

綜合以上兩點,preload class 可以減少"實體"記憶體的使用,同時也以加快 activity 啟動的速度。
缺點就是 啟動的時間會變慢。

-- 變慢這一點是值得懷疑的,因為即使 dalvik 啟動時不 preload,第一個 activity 啟動時,還是要 load 這些 class 呀。

沒有留言:

標籤

網誌存檔