15個必知的Android開發者選項
1.Stay awake
充電時保持屏幕喚醒,開發的時候,時不時的鎖屏真是夠了,開啟它后只要插着USB線就不需要總去解鎖屏幕啦。
2.Select runtime(Dalvik or ART)
ART runtime下你的應用會更加絲滑,目前高版本的Android上已經直接是ART runtime了,但作為Android開發也許需要保證你的應用在兩種runtime下都能正常運行,這可能是測試時需要更多考慮的。
3.Process stats
里面有關於當前運行進程的一切信息,對於一般用戶,它就是一堆無意義的數字,對於Android開發人員來說,調試時這些信息也許可以幫你大忙。
4.USB debugging
這個無需介紹,不開它怎么調試呢?
5.Allow mock locations
當你的應用需要用到GPS功能,獲取位置信息時(比如天氣應用),可以通過它搭配一些位置模擬應用,模擬全球任何地點。
6.Show surface updates
在界面繪制時,閃爍提醒,開啟它后簡直能閃瞎你的眼睛,但有時候我們需要精確知道具體的界面繪制細節時,不得不需要忍受這種折磨。
7.
Show layout bounds
顯示布局格子,當你看到一個應用有很棒的界面效果,想知道它是怎么布局的,開啟這個功能即可。我更常用的使用場景是:每當有PM過來問我人家這個界面是Native實現的,還是類似Hybrid方案的Web實現時,我就讓他開啟這個功能,WebView是一個整體的格子,Native View是各種小格子組合而成。除非自己重繪實現自定義View,一般復雜布局也不會這么干。
8.Force RTL layout direction
強制RTL布局,RTL也就是Right To Left,阿拉伯國家一般有這種文化,類似古時候的中國,文字從右往左讀,包括界面布局也是從右往左的,感覺操作習慣都跟我們是鏡像的,如果你跟我一樣不幸需要做這種坑爹適配的話,這也是必須掌握的技能。
9.Animation scale
動畫的尺度、速度調整也是很有用的功能,
尤其在實現復雜的組合動畫效果時,調慢點可以看得更清楚,當然你可以在自己代碼里調慢,但每次改代碼重新build很麻煩對不對?而且如果是PM走過來讓你研究一下某款App的酷炫動畫效果呢?
10.Simulate secondary displays
它允許你模擬不同屏幕尺寸下應用的表現,IDE里雖然也有類似的功能,可那畢竟只是個靜態的效果。
11.Debug GPU overdraw
過度繪制有時是無法避免的,Android建議是不要超過一次過度繪制,也就是可以是藍色的,不能綠了。
12.Strict mode enabled
嚴苛模式下,當應用做了一些影響性能的事情,屏幕會閃一下提醒你。你
也可以在代碼里為自己的應用開啟嚴苛模式,一旦發現一些性能問題,就會有詳細Log輸出,為避免影響線上用戶,建議只在Debug模式下開啟。
13.
Show CPU usage
在你屏幕右上角顯示一個小窗口,提示當前CPU的各種信息,在性能調試時會有一些幫助,看是否是CPU的負載過高導致了性能問題。
14.
Profile GPU rendering
開啟后,會在下方顯示一張實時繪制圖,記住
那條綠線是性能流暢與否的底線,超過的時刻就會出現掉幀,就會有卡頓的感覺,界面性能調優的一個最重要指標就是
將所有界面操作盡量優化到那條綠線以下。
15.Don't keep activities
開啟這個選項后,當你從Activity A跳轉到Activity B時,Activity A就會被立即銷毀,這一般用來模擬設備內存不足時后台Activity被銷毀的場景,如果你的應用能做到開啟它時功能仍基本正常,說明代碼設計得比較合理,不同Activity之間的耦和很低,對於復雜業務的應用來說,能做到這點真心不容易。
業余版解釋
第一項:提交錯誤報告
將本機上安卓系統的出錯日志以及硬件設備信息發送給谷歌。建議:咱們當然不泄露自己隱私了,絕不使用!
第二項:桌面密碼備份
設置或更新桌面完整備份的密碼。建議:沒必要設置,誰動你的備份~
第三項:不鎖定屏幕
說明文字已經很清楚了:充電時屏幕不會休眠。建議:關閉
第四項:啟用藍牙HCI信息收集日志
藍牙互傳文件會被記錄日志。建議:藍牙都很少用到了,這個日志就更沒必要記錄了
第五項:進程統計信息
安卓4.4新增給力功能,每個進程的運行時長百分比,ram使用率,相關后台服務統計情況一目了然。這才是真正意義上的任務管理器,大贊!
第六項:USB調試
嗯,怎么介紹它呢?反正很有用就是了,允許外部程序尤其是PC端程序通過adb命令管理手機。安卓系統最有趣也是最吸引人的開放性就是由它控制的。建議:必開,不再多解釋!
第七項:撤銷USB調試授權
顧名思義,撤銷所有已連接過的電腦調試授權,下次連接又要重新安裝驅動。建議:不嫌麻煩的可以點擊確認。
第八項:電源鍵菜單錯誤報告
也是意思很清晰明白了。建議:一樣絕不使用!
第九項:允許模擬地點
真正為開發人員設置的一個選項。軟件開發人員對開發的某些定位軟件(一般為地圖軟件),做測試的時候使用的,功能是模擬手機目前所處的位置(比如手機當前實際位置在中國,但測試軟件時要求測試條件為美國,就可以使用該功能進行測試軟件模擬定位)。建議:沒事就別開了。
第十項:選擇調試應用
同樣的如假包換的開發者選項。建議:無視吧
第十一項:顯示觸摸操作
很好玩的一個選項,開啟后,手指點擊的地方就顯示一個小圓點。我試了試五個手指同時放上去,果然就是五個小圓點(我是有多無聊。。。)。建議:玩玩還可以,日常使用就別開了。
第十二項:指針位置
以十字橫縱坐標的方式顯示你觸摸的位置,如果是滑動的話,就是一條線的軌跡。建議:裝B可用,平常關閉
第十三項:顯示屏幕更新
當滾動屏幕或觸控或者系統自動刷新使得屏幕上的某塊區域重新繪制時,該區域閃爍。建議:別開,容易亮瞎咱們的24k鈦合金眼。
第十四項:顯示布局邊界
顯示當前頁面各個組件的邊界框架信息,對於開發人員參考好的app設計有些幫助。建議:關閉。
第十五項:窗口動畫縮放、第十六項:過渡動畫縮放、第十七項:動畫程序時長調整
這三項決定了你對整個ROM的動態感官體驗。比如啟動app、桌面滑屏、確認框的彈出等,有了動畫就會顯得很順滑以及和諧。關閉了或調節比例越低,會顯得切換動作較為生硬,但好處是對系統資源占用就會降低。建議:保持前兩個為0.5x,最后一個為1x,在性能和體驗中間取個平衡。
第十八項:模擬輔助顯示設備
不明白用途。建議:不要動,保持原樣。
第十九項強制GPU渲染
值得重點介紹的一個選項。安卓的軟件應用的界面可以使用cpu或gpu渲染,包括桌面。由於gpu處理圖形比cpu好,所以gpu渲染應用的界面會更流暢,同時減輕cpu的負擔。gpu強制渲染就是hwa(hardware acceleration硬件加速)的一種,能夠得到更好的優化。
但強制gpu也是有缺陷的。第一是強制GPU加速功能會增加功耗,降低待機時間。第二是,部分舊程序本身不支持gpu渲染,沒有硬件加速hwa的就會出現崩潰。比較老的程序因為SDK版本低不支持gpu加速,或者開發時默認不開啟gpu渲染,遇上gpu強制渲染就會出現問題。建議:個人認為在現在開啟和關閉都沒有什么問題,看個人喜好,我是開啟的,也沒發現什么問題。
第二十項:顯示GPU視圖更新
屏幕上的區域更新時閃爍響應的屏幕區域各種閃爍。建議:關
第二十一項:顯示硬件層更新
硬件層更新...哪會有更新,所以你勾選與不勾選沒有什么意義。建議:沒意義的就關了吧。
第二十二項:調試GPU過度繪制
當使用GPU繪圖時,在屏幕上繪制不同的顏色來表明過度繪制的情況。建議:關閉,這么多藍藍綠綠紅紅的誰受得了。
第二十三項:調試非矩形剪裁操作
這個選項真沒明白,開啟與關閉都沒什么變化,估計是深入到安卓系統核心的開發人員才關注。建議:關閉。
第二十四項:強制啟用4x MSAA
4倍抗鋸齒,游戲達人應該對此很熟悉。經過小貝實測,對於暢玩的GPU來說,開啟此選項不會明顯的增加手機的發熱量,對於續航也影響不大,當然這是建立在我的游戲時長比較短的情況下。但對畫質的提升還是蠻明顯的,地鐵跑酷、極品飛車,游戲畫面的邊緣都有了明顯改善,更為細膩圓潤。建議:游戲達人,開;普通用戶,隨意。
第二十五項:停用HW疊加層
停用的話,所有應用將共享視頻內存,將不會經常檢查碰撞與裁剪以顯示一個合適的圖像,將會耗費大量處理能力。而HW疊加層允許應用有單獨的視頻內存,性能自然要好些。建議:不勾選
第二十六項:嚴格模式已啟用
在你打開某個應用后,點返回退出但在進程中仍然運行,長時間后屏幕會閃爍提示你在主線程上還是正在運行的應用程序。
第二十七項:顯示CPU使用情況
很有用的一個選項,開啟后在右上角最上層顯示cpu當前正在處理的進程。建議:關閉。
第二十八項:GPU呈現模式分析
非常有趣的一個選項,不過真的是開發者選項。用來調試應用,需要結合adb shell dumpsys gfxinfo your_package 命令來使用。可以用來測量某個app的幀速率,例如列表視圖滾動的時候。建議:非開發者關閉。
第二十九項:啟用OpenGL跟蹤模式
又一個如假包換的開發者選項,圖形視角效果器,是手機制作圖片軟件的輔助工具,比如ps3D立體圖,需要啟用這個工具才能實現在編輯過程中的圖片旋轉,放大縮小復位等。建議:非開發者關閉。
第三十項:不保留活動
網上有些教程說開啟這個選項會對解決例如打開通訊錄等操作的卡頓現象有幫助,經過實測沒什么作用。個人感覺保留活動就和保留IE的緩存一樣,是有用的。建議:不勾選。
第三十一項:后台進程限制
自定義設置后台程序的進程限制。建議:這種系統級的東西就留給系統去處理吧,咱們自己設置的也許起到反面影響。保留“標准限制”即可。
第三十二項:顯示所有“應用程序無響應”(ANR)
當app出現FC(強制關閉)錯誤時,提示給用戶知曉。建議:沒必要開啟,提示我們也做不了什么,反正就是強退。
2018-1-2
