Android開發(fā)者選項卡者,看起來很簡單的事情蒿囤,其實很多同學(xué)對它了解得不夠,Google用心良苦得為我們設(shè)計了這么多小開關(guān)都是有它的作用的崇决,今天也花了點時間材诽,過了一遍全部的30多個開關(guān),從中整理出15個對日常Android開發(fā)比較有幫助的選項恒傻。
需要指出的是脸侥,不同的ROM對開發(fā)者選項的支持不一樣,精簡掉一些很正常盈厘,我下面提到的都是官方支持的功能睁枕,當(dāng)然不同的官方版本支持程度也不一樣,你手機上找不到也別奇怪沸手。
抱歉這里不介紹開發(fā)者選項在哪怎么開啟之類的問題外遇。
Stay awake
充電時保持屏幕喚醒,開發(fā)的時候契吉,時不時的鎖屏真是夠了跳仿,開啟它后只要插著USB線就不需要總?cè)ソ怄i屏幕啦。Select runtime(Dalvik or ART)
ART runtime下你的應(yīng)用會更加絲滑栅隐,目前高版本的Android上已經(jīng)直接是ART runtime了塔嬉,但作為Android開發(fā)也許需要保證你的應(yīng)用在兩種runtime下都能正常運行玩徊,這可能是測試時需要更多考慮的。Process stats
里面有關(guān)于當(dāng)前運行進程的一切信息谨究,對于一般用戶恩袱,它就是一堆無意義的數(shù)字,對于Android開發(fā)人員來說胶哲,調(diào)試時這些信息也許可以幫你大忙畔塔。USB debugging
這個無需介紹,不開它怎么調(diào)試呢鸯屿?(雖然現(xiàn)在都流行無線調(diào)試了)Allow mock locations
當(dāng)你的應(yīng)用需要用到GPS功能澈吨,獲取位置信息時(比如天氣應(yīng)用),可以通過它搭配一些位置模擬應(yīng)用寄摆,模擬全球任何地點谅辣。(還能干什么?機智的你肯定想到啦)Show surface updates
在界面繪制時婶恼,閃爍提醒桑阶,開啟它后簡直能閃瞎你的眼睛,但有時候我們需要精確知道具體的界面繪制細(xì)節(jié)時勾邦,不得不需要忍受這種折磨蚣录。-
Show layout bounds
顯示布局格子,當(dāng)你看到一個應(yīng)用有很棒的界面效果眷篇,想知道它是怎么布局的萎河?開啟這個功能即可。我更常用的使用場景是:每當(dāng)有PM過來問我人家這個界面是Native實現(xiàn)的蕉饼,還是類似Hybrid方案的Web實現(xiàn)時虐杯,我就讓他開啟這個功能,WebView是一個整體的格子椎椰,Native View是各種小格子組合而成厦幅。(除非自己重繪實現(xiàn)自定義View, 一般復(fù)雜布局也不會這么干)
Force RTL layout direction
強制RTL布局,RTL也就是Right To Left慨飘,阿拉伯國家一般有這種文化确憨,類似古時候的中國,文字從右往左讀瓤的,包括界面布局也是從右往左的休弃,感覺操作習(xí)慣都跟我們是鏡像的,如果你跟我一樣不幸需要做這種坑爹適配的話圈膏,這也是必須掌握的技能塔猾。Animation scale
動畫的尺度、速度調(diào)整也是很有用的功能稽坤,尤其在實現(xiàn)復(fù)雜的組合動畫效果時丈甸,調(diào)慢點可以看得更清楚糯俗,當(dāng)然你可以在自己代碼里調(diào)慢,但每次改代碼重新build很麻煩對不對睦擂?而且如果是PM走過來讓你研究一下某款A(yù)pp的酷炫動畫效果呢得湘?Simulate secondary displays
它允許你模擬不同屏幕尺寸下應(yīng)用的表現(xiàn),IDE里雖然也有類似的功能顿仇,可那畢竟只是個靜態(tài)的效果淘正。Debug GPU overdraw
這里是指不正確的過度繪制:
- 原色: 沒有過度繪制
- 藍(lán)色: 一次過度繪制
- 綠色: 兩次過度繪制
- 粉色: 三次過度繪制
-
紅色: 四次及以上過度繪制。
值得提醒的是臼闻,過度繪制有時是無法避免的鸿吆,Android建議是不要超過一次過度繪制,也就是可以是藍(lán)色的述呐,不能綠了惩淳。
Strict mode enabled
嚴(yán)苛模式下,當(dāng)應(yīng)用做了一些影響性能的事情市埋,屏幕會閃一下提醒你黎泣。你也可以在代碼里為自己的應(yīng)用開啟嚴(yán)苛模式,一旦發(fā)現(xiàn)一些性能問題缤谎,就會有詳細(xì)Log輸出, 為避免影響線上用戶,建議只在Debug模式下開啟褐着。-
Show CPU usage
在你屏幕右上角顯示一個小窗口坷澡,提示當(dāng)前CPU的各種信息,在性能調(diào)試時會有一些幫助含蓉,看是否是CPU的負(fù)載過高導(dǎo)致了性能問題频敛。
-
Profile GPU rendering
看下面這張圖,就明白它的作用了馅扣,開啟后斟赚,會在下方顯示一張實時繪制圖,記住那條綠線是性能流暢與否的底線差油,超過的時刻就會出現(xiàn)掉幀拗军,就會有卡頓的感覺,界面性能調(diào)優(yōu)的一個最重要指標(biāo)就是將所有界面操作盡量優(yōu)化到那條綠線以下蓄喇。具體的原理可以看胡凱同學(xué)的Android性能優(yōu)化典范发侵,我的公眾號里也收錄了他這篇經(jīng)典文章。
Don't keep activities
開啟這個選項后妆偏,當(dāng)你從Activity A跳轉(zhuǎn)到Activity B時刃鳄,Activity A就會被立即銷毀,這一般用來模擬設(shè)備內(nèi)存不足時后臺Activity被銷毀的場景钱骂,如果你的應(yīng)用能做到開啟它時功能仍基本正常叔锐,說明代碼設(shè)計得比較合理挪鹏,不同Activity之間的耦和很低,對于復(fù)雜業(yè)務(wù)的應(yīng)用來說愉烙,能做到這點真心不容易讨盒。