Android 小筆記
2013年5月12日 星期日
CPU調節模式和IO調度模式詳解
CPU模式:
ondemand
【按需模式】
官方及xray內核默認為此項調節模式,顧名思義,按需調節cpu頻率,不操作手機的時候控制在最低頻率,滑屏或進入應用後會迅速提升至最高頻率,當空閒時迅速降低頻率,性能較穩定,但因頻率變化幅度過大,省電方面只有一般的水平。
powersave
【省電模式】
按設定最低頻率運行,日常沒有使用價值,除非配合setcpu情景模式,關屏睡眠時使用此調節模式
performance
【高性能模式】
和省電模式相反,始終按設定最高頻率運行,此模式亦無任何日常使用價值,果斷pass
userspace
【用戶隔離】
嚴格來說它並不是一個模式,是允許非內核進程控制cpu頻率的設置,現在已經不需要它了,setcpu官方的建議是,「不要使用此選項」。
conservative
【保守模式】
和ondemand模式的調頻設定類似,不過有操作時提升cpu頻率的速度較慢,空閒時迅速降頻,所以名字叫保守模式,性能較低,省電程度略好於ondemand,總體不推薦
interactive
【交互模式】
相對於保守模式,這個模式算是高性能版的ondemand,開始操作手機後,頻率升至最高,可以帶來更好的響應速度,空閒時緩慢降至設定最低頻率。電量自然也是要多費一點。
interactivex
交互模式的修改優化版,開屏後進入更好的頻率管理方式,比交互模式略省電。
hotplug
ray沒有此模式,多核機型上可用,在不需要的時候關閉多餘核心,其他部分調節方式與ondemand相同。
smartass
【智能調節模式】
相當於是一個預置的profile,交互模式的另一個修改版,更加省電。根據資源使用智能提供一個適中的頻率,空閒時自動降頻,鎖屏時自動固定頻率。特色是鎖屏後非常省電。缺點是部分機型鎖屏一段時間後容易睡死。
smartassv2
【智能調節模式v2】
aire內核默認,smartass的升級版,最近很流行的模式。能利用cpu設定的所有頻率值。算是對cpu利用充分的條件下最省電的一個模式。同系列的優缺點依舊存在。
smoothass
介紹是比smartass「更有活力的漸進式頻率調節」,沒用過不太清楚。
brazilianwax
與smoothass相同的模式。
savagedzen
基於smartass的另一模式,在耗電和性能間取得更佳的均衡點。
minmax
保守模式的優化配置版,耗電略高於smartassv2,性能較好。
scary
基於保守模式,同時具有smartass的特點。看介紹是很奇怪的一個模式,有人說不錯,不過自己沒有試過。
lagfree
【無延遲模式】
基本基於保守模式的頻率調節機制,頻率上升緩慢,不同之處在於喚醒屏幕後會直接跳躍到一個合適的頻率,減少亮起以後的延遲現象。但日常使用性能不高。
intellidemand
【智能按需調節模式】
這個模式有點意思,可根據GPU使用情況來針對性調節cpu頻率,GPU負載高時,比如運行遊戲和測試的時候,cpu頻率會迅速升至最高,這時的調節模式類似於ondemand;當GPU空閒時則會自動限制cpu最高頻率,更加省電。要遊戲性能好,又要省電的可以用下試試。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I/O調度模式:
(i/o即input/output的縮寫,關於數據的讀寫操作,不同進程請求數據的優先順序等等。io調度模式比較複雜,我沒有具體測試,這裡僅對ray上出現的幾個模式做說明,部分參考xda、androidforums、wik1pedia、linuxarchive資料)
noop
這個調度模式會把所有的數據請求直接合併到一個簡單的隊列裡。不適合有機械結構的存儲器,因為沒有優化順序,會增加額外的尋道時間。屬於最簡單的一個調度模式,無視io操作優先級和複雜性,執行完一個再執行一個,如果讀寫操作繁多的話,就會造成效率降低。
anticipatory
其實這個有點類似於pc硬盤的NCQ功能,執行有預測性的調度,看起來似乎可以提高效率,不過因為它的預測機制會在進程將要結束一個讀寫操作時時開始準備下一個的預處理,所以會打亂系統正常的連續io調度,降低隨機存取效率。用的人很少,不推薦。
deadline
顧名思義,用過期時間來排序io操作順序,保證先出現的io請求有最短的延遲時間,相對於寫操作,給讀操作更優先的級別。是比較好的一個調度模式。
cfq
完全公平隊列,是anticipatory模式的替代品,沒有過多的做預測性調度,而是根據給定的進程io優先級,直接來分配操作的順序。這個模式在linux上表現良好,但也許並不是最適合android的io調度模式,太強調均衡,而降低了連續讀寫數據的性能。
vr
具有和deadline相似的操作排序機制,有著最高的峰值讀寫速度,但是性能比較不穩定,也就是說可能跑出最高的分數,但是也會出現最低值。
sio
雖然基於deadline,但是它和noop一樣,不會對io操作進行排序,所以有著noop那樣快速的存取速度,但並沒有過多優化io操作。如果不喜歡noop完全不參與調度,也可以選擇這個。
總體而言,推薦指數依次為sio=deadline(兩種趨向,一種少干預,一種多干預)>vr(性能可以達到最高峰值)>cfq=noop>anticipatory
有不同或補充意見歡迎探討,原創首發ray吧,轉載請註明。
2012年2月19日 星期日
讓Android手機管控網路數據流量的好用程式
我想應該也有不少人跟我一樣用低資費的網路費率,好比說50元可以用10MB之類的費率。
我的經驗是只要流量控制得好,一切都很好
但是呢,Android的手機有一些同步程式若是不關掉行動網路可是會默默地消耗金錢阿。
我的策略是
1.關掉自動同步(背景資料要不要關就看個人吧,畢竟關了以後Market就不能用了)
2.流量統計
3.行動網路開關小工具
4.程式防火牆(需要系統權限root)
那接下來就一項一項介紹
一、關閉自動同步
1. 選擇設定

2.選擇帳戶與同步處裡

3.把自動同步處理勾勾點掉

二、流量統計
我選用的app是3G Watchdog
功能強而且免費
軟點連結
QR code

這個軟體可精確計算流量、設定計費周期、清楚圖表表示用量與期限比,檔案小不暫手機空間,建議不要移到SD卡
此圖為用量和週期比

可以設定竟費周期和總額度

可以設定超量警告和自動停用3G網路

三、行動網路開關
這個就有很多程式可以達到這個目的,我推薦的付費程式是可以搭配上面介紹的3G Watchdog的自動停用3G功能使用
APNdroid
QRcode:
免費程式我推薦這個 檔案小又簡單的小工具,在不用行動網路的時候可以把它關掉,省電又省錢
QRcode:

4. 程式防火牆
我個人大力推薦Droidwall,雖然這個程式需要ROOT不過這真的是很強悍,它可以將選定的程式變更成無法使用網路。不放心的話就把所有程式的3G那欄全部打勾(黑名單),或者是只勾WIFI(白名單),如此可以避免有程式在偷偷消耗數據
Droidwall
QRcode:
最上面的Mode: Blank list點一下可以選擇要使用白名單還是黑名單
我建議使用黑名單就是如圖的block selected只要選了程式就不能讓那個程式上網

記得弄完以後要按menu鍵,選擇Firewall enabled,這樣才算是正式啟用

有了以上的工具以後,數據流量就在你的掌控之中了,享受有趣的Android吧!
我的經驗是只要流量控制得好,一切都很好
但是呢,Android的手機有一些同步程式若是不關掉行動網路可是會默默地消耗金錢阿。
我的策略是
1.關掉自動同步(背景資料要不要關就看個人吧,畢竟關了以後Market就不能用了)
2.流量統計
3.行動網路開關小工具
4.程式防火牆(需要系統權限root)
那接下來就一項一項介紹
一、關閉自動同步
1. 選擇設定

2.選擇帳戶與同步處裡

3.把自動同步處理勾勾點掉

二、流量統計
我選用的app是3G Watchdog
功能強而且免費
軟點連結
QR code

這個軟體可精確計算流量、設定計費周期、清楚圖表表示用量與期限比,檔案小不暫手機空間,建議不要移到SD卡
此圖為用量和週期比

可以設定竟費周期和總額度

可以設定超量警告和自動停用3G網路

三、行動網路開關
這個就有很多程式可以達到這個目的,我推薦的付費程式是可以搭配上面介紹的3G Watchdog的自動停用3G功能使用
APNdroid
QRcode:

免費程式我推薦這個 檔案小又簡單的小工具,在不用行動網路的時候可以把它關掉,省電又省錢
QRcode:

4. 程式防火牆
我個人大力推薦Droidwall,雖然這個程式需要ROOT不過這真的是很強悍,它可以將選定的程式變更成無法使用網路。不放心的話就把所有程式的3G那欄全部打勾(黑名單),或者是只勾WIFI(白名單),如此可以避免有程式在偷偷消耗數據
Droidwall
QRcode:

最上面的Mode: Blank list點一下可以選擇要使用白名單還是黑名單
我建議使用黑名單就是如圖的block selected只要選了程式就不能讓那個程式上網

記得弄完以後要按menu鍵,選擇Firewall enabled,這樣才算是正式啟用

有了以上的工具以後,數據流量就在你的掌控之中了,享受有趣的Android吧!
2012年2月18日 星期六
元老級Eee PC 701 4G的救星 Android x86 灌電腦
我想應該有不少人有eeePC 4G這台老小筆電。還記得我的電腦以前是LINUX的OS,後來覺得不好用就改裝了XP。後來覺的XP對於4G的硬碟來說太過於肥大了。於是找了micro xp來,可是還是越用容量越小(不明原因)。看來我的電腦可能要回歸到LINUX才行。我便用了很有名很好用的LINUX: Ubuntu沒想到小筆電變得非常慢。一氣之下的我就把小筆電丟在一邊。
直到了我發現了Android x86
Android是目前匹敵IOS
的強力手機系統。有位厲害的台灣開發者,將ANDROID編譯成EEEPC可用的OS目前已經開發到了ICS(Android 4.0)
灌下去以後,作業速度可說是神速,因為EeePC701的RAM對ANDROID而言算是很大了,所以跑起來完全不會停頓。支援WI-FI,乙太網路、外接藍芽、滑鼠鍵盤(USB可、無線可、藍芽不可)支援VGA外接螢幕(僅Android 2.2可用且需要重開機),幾乎所有選單的功能都可用。唯一的大缺點就是可灌的程式不多(且MARKET不支援)。像是著名遊戲Angry birds、 Fruit Ninja等等都不能玩(可能是顯卡不支援的問題)。在2.2上尤其嚴重。不過2.3也好不到哪去,乍看之下全部的程式都可以灌,但是也要等到點進去看有沒有問題才能決定。
我個人建議灌Android x86 2.3
1. 原因是WIFI連接順暢(2.2要連很久,而且老連不上,必須要手動輸入WIFI名稱使狀態列出現2個一樣名稱然後互換才會成功
直到了我發現了Android x86
Android是目前匹敵IOS
的強力手機系統。有位厲害的台灣開發者,將ANDROID編譯成EEEPC可用的OS目前已經開發到了ICS(Android 4.0)
灌下去以後,作業速度可說是神速,因為EeePC701的RAM對ANDROID而言算是很大了,所以跑起來完全不會停頓。支援WI-FI,乙太網路、外接藍芽、滑鼠鍵盤(USB可、無線可、藍芽不可)支援VGA外接螢幕(僅Android 2.2可用且需要重開機),幾乎所有選單的功能都可用。唯一的大缺點就是可灌的程式不多(且MARKET不支援)。像是著名遊戲Angry birds、 Fruit Ninja等等都不能玩(可能是顯卡不支援的問題)。在2.2上尤其嚴重。不過2.3也好不到哪去,乍看之下全部的程式都可以灌,但是也要等到點進去看有沒有問題才能決定。
我個人建議灌Android x86 2.3
1. 原因是WIFI連接順暢(2.2要連很久,而且老連不上,必須要手動輸入WIFI名稱使狀態列出現2個一樣名稱然後互換才會成功
連線)。
2. 可灌程式比較多。像是可以灌OFFICE程式,Dropbox,Facebook(1.8.0以上),遊戲Denfender、BBS程式、海豚瀏覽器、Lime輸入法、IM+等等
3. 介面比較好看
缺點:
沒有VGA外接(2.2可用)
沒有相機(2.2可用、但這功能不實用)
安裝ANDROIDx86 我是搭配UtraISO,此程式的工具列中,
2. 可灌程式比較多。像是可以灌OFFICE程式,Dropbox,Facebook(1.8.0以上),遊戲Denfender、BBS程式、海豚瀏覽器、Lime輸入法、IM+等等
3. 介面比較好看
缺點:
沒有VGA外接(2.2可用)
沒有相機(2.2可用、但這功能不實用)
安裝ANDROIDx86 我是搭配UtraISO,此程式的工具列中,
可開機(B)>寫入磁碟映像檔(B)>磁碟機選你想要格式化的隨身碟(不要像我一樣選到硬碟然後就QQ了)>寫入方式選USB-HDD>寫入 這樣就完成Android x86的安裝光碟了
安裝步驟在此
可是預設的選擇是HDPI,且等待時間為6秒,難免會因為發呆就登入錯了。所以在安裝完Android x86之後還建議大家修改GRUB
不過修改這件事在ANDROID環境中不太容易,用終端機又很麻煩,這時我推薦大家一個簡單方便的方法。
1. 要先知道GRUB檔案是在/root/grub/menu.lst 中,要改開機選單就要改menu.lst
2. Android的磁碟格式為ext3為linux的格式,所以windows沒法開,這時候就需要一個LINUX的LIVE USB
3.推薦使用puppy linux原因是他不需要特別使用root權限就可以修改。(用utuntu改的話就需要root權限)。製作LIVE USB的時候需要一個小程式unetbootin。將隨身碟插入後。在 unetbootin 中選擇puppy linux的ISO檔,然後選擇你想要格式化的隨身碟,然後就照步驟進行,幾分鐘就完成囉
4.將隨身碟插到電腦上,開機以後狂按F2進入BIOS畫面>Boot>Hard Disk Drives>在1st Drive上按Enter>選擇[USB:....](如果電腦有插記憶卡的話會多一列[USB:USB2.0 CardRea]如果安裝檔不在記憶卡裡就不要選這項)
安裝步驟
1. 將隨身碟插到電腦上,開機以後狂按F2進入BIOS畫面>Boot>Hard Disk Drives>在1st Drive上按Enter>選擇[USB:....](如果電腦有插記憶卡的話會多一列[USB:USB2.0 CardRea]如果安裝檔不在記憶卡裡就不要選這項)
3. 安裝過程中會問到說要不要灌GRUB選單(開機選單)和要不要將系統檔設定成自由修改(也就是類似手機的root),我的話會點要,然後開機選擇的時候最好選(MDPI)因為比較符合小螢幕安裝步驟在此
可是預設的選擇是HDPI,且等待時間為6秒,難免會因為發呆就登入錯了。所以在安裝完Android x86之後還建議大家修改GRUB
不過修改這件事在ANDROID環境中不太容易,用終端機又很麻煩,這時我推薦大家一個簡單方便的方法。
1. 要先知道GRUB檔案是在/root/grub/menu.lst 中,要改開機選單就要改menu.lst
2. Android的磁碟格式為ext3為linux的格式,所以windows沒法開,這時候就需要一個LINUX的LIVE USB
3.推薦使用puppy linux原因是他不需要特別使用root權限就可以修改。(用utuntu改的話就需要root權限)。製作LIVE USB的時候需要一個小程式unetbootin。將隨身碟插入後。在 unetbootin 中選擇puppy linux的ISO檔,然後選擇你想要格式化的隨身碟,然後就照步驟進行,幾分鐘就完成囉
4.將隨身碟插到電腦上,開機以後狂按F2進入BIOS畫面>Boot>Hard Disk Drives>在1st Drive上按Enter>選擇[USB:....](如果電腦有插記憶卡的話會多一列[USB:USB2.0 CardRea]如果安裝檔不在記憶卡裡就不要選這項)
5.Ctrl+Alt+Del以後就會用USB開機了,然後就放給他開機,看到選單就按Enter直覺按就好,然後就是等到開機完成囉
6. 開機完後桌面左下方會有個sda1的磁碟機,點開以後有一個grub資料夾,點開後找到menu.lst以後把他點開,找到後面有一條DPI=240,把它改成160,另一行的DPI=160改成240。重開機
大功告成囉!!EeePC已經變成Android機囉~
訂閱:
文章 (Atom)