引用:
|
作者NEAL
野口兄說的ZSwap我也認同,我之前寫Android App有用過類似的ZRAM。
兩者差別應該是ZSwap的Hierarchy比較完整,可以將要Swap的資料先放回RAM裡的ZSwap Pool,等到RAM真的不夠時再將LRU Pages放回HDD/SSD/eMMC/UFS上的Swap空間,而且ZSwap是在Kernel Space打開就可以全機適用。
不用像ZRAM還要在User Space開啟,寫APP時要下API打開才能用。
我之前在我那台LG G3裝Customized ROM時,有打開ZSwap測試,但我猜可能是S801不夠力,LZ4壓縮讓CPU變燙,相對電池噴電也像澆花一樣,而且RAM也沒因為LZ4省掉多少,3GB RAM依然都吃光。
我從這幾年的心得產生一個強烈的偏見,認為Android App的原罪就是用了Java這種肥大拖效能,還要Dalvik/ART VM的語言在行動裝置上。
讀書時學到的知識總是告訴我們,在嵌入式裝置這種效能與功耗有限制的裝置上,用C/C++等Compiled Language是較為妥善的作法,執行效率和...
|
同樣的HW, native code 當然還是比 Java這種 managed code 來的快呀...
我自己是手機SW, 我也超不懂為何 Android 當初要選Java當app layer的開發語言, C++這麼美好居然不用...(framework有我知道)