第一個 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 呀。
ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上
標籤
- 3g (19)
- 工作的備worklog (93)
- 自言自語 (36)
- 草稿 (1)
- 亂亂寫 (8)
- 翻譯 (3)
- administration (76)
- alsa (7)
- android (299)
- apple (5)
- application (42)
- archlinux (1)
- audio (3)
- avr (6)
- backup_restore (2)
- bluetooth (5)
- bookmark (38)
- bootloader (21)
- browser (5)
- cellphone (28)
- command (8)
- Configuration (27)
- debug (7)
- django (1)
- driver (15)
- earphone (1)
- editor (1)
- EFL (1)
- ffmpeg (18)
- Filesystem (4)
- GCC (8)
- Gentoo (1)
- google (1)
- Graphic (3)
- hardware (40)
- hero (7)
- hibernation (9)
- iMX51 (38)
- Info (3)
- Install (30)
- java (4)
- Kernel (102)
- language (2)
- life (2)
- make (11)
- MantainLog (38)
- MCU_P (9)
- memo (8)
- microcontroller (3)
- MINGW (7)
- network (19)
- OpenCL (1)
- OS (11)
- package (3)
- pad (1)
- ProblemAndSolve (15)
- programming (8)
- Python (7)
- raspberry_pi (23)
- SDL (2)
- sensation (13)
- setup (3)
- software_package (36)
- SQL (1)
- suspend (2)
- ToDo (5)
- tool (3)
- ubuntu (1)
- VersionControl (45)
- Virtualization (15)
- VLC (5)
- wheezy (1)
- wifi (3)
- Windows (16)
- xiaomi (1)
- xperia (1)
沒有留言:
張貼留言