Android4.4:Kitkat給產(chǎn)品團(tuán)隊(duì)帶來了哪些變化?
PM(產(chǎn)品經(jīng)理)(一) 云打印
Kitkat自帶打印功能,用WiFi或者Google云打印連接打印機(jī),并打印文件。用戶可自定義打印尺寸、需要打印的頁數(shù)等。同時(shí)也將打印的相應(yīng)API開放給了開發(fā)者,第三方App可以在Kitkat中增加打印的新特性。
(二) 云存儲(chǔ)
云存儲(chǔ)等云服務(wù)正風(fēng)生水起,Google也擁有自家的云存儲(chǔ)服務(wù)Google Drive。Kitkat集成了全新的文件管理,將圖庫、云存儲(chǔ)、下載文件等集成到了一起。通過云端,Kitkat可以無縫在多臺(tái)設(shè)備中共享資料。
(三) 動(dòng)作傳感器
Kitkat可以保持和動(dòng)作傳感器的連接,待機(jī)狀態(tài)下識(shí)別用戶的動(dòng)作,比如設(shè)備感應(yīng)到你舉起手機(jī)時(shí),會(huì)自動(dòng)為你亮起屏幕無需按電源鍵;感應(yīng)到你跑步時(shí),自動(dòng)計(jì)算速度和消耗的卡路里。這些都是在低功耗的環(huán)境下實(shí)現(xiàn)的。當(dāng)然,Kitkat的這個(gè)特性需要?jiǎng)幼鱾鞲衅鞯闹С?,目前只有Nexus 5能夠開啟。
(四) NFC
Kitkat能夠使用NFC,利用Google錢包直接支付。
Kitkat支持使用HCE(Host Card Emulation)傳輸協(xié)議進(jìn)行NFC支付,HCE是模擬ISO/IEC 7816的智能卡,并采用非接觸式ISO/IEC 14443-4(ISO-DEP)傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸,保證支付的安全。
(五) 短信和環(huán)聊合體
整合短信、環(huán)聊功能,可以收發(fā)短信、彩信、發(fā)送地理位置、GIF動(dòng)態(tài)圖片等。
(六) 其他功能改進(jìn)
- 集成Emoji輸入法
- 集成Quickoffice辦公軟件
- OK Google
- 藍(lán)牙、紅外、wifi部分功能增強(qiáng)
- 安全增強(qiáng)
#p#
RD(開發(fā)者)(一) 重大API改動(dòng)
四個(gè)重大API改動(dòng):
Ø External Storage
Kitkat平臺(tái)上,外部存儲(chǔ)訪問的方式也 發(fā)生變化,若App未申請(qǐng)READ_EXTERNAL_STORAGE權(quán)限,則無法訪問接口 getExternalStoragePublicDirectory()返回的文件路徑;同時(shí),增加getExternalFilesDirs() 方法獲取外部文件對(duì)象,getStorageState() 方法可判斷該存儲(chǔ)是否有效。
Ø WebView
Kitkat在Chromium的源碼的基礎(chǔ)上,對(duì)WebView進(jìn)行了重大升級(jí),帶了一系列性能的提升, Chromium WebView廣泛支持HTML5,CSS3和JavaScript,此外,還支持使用Chrome DevTools遠(yuǎn)程調(diào)試WebView內(nèi)容。
Ø ContentResolver
設(shè)置targetSdkVersion為19時(shí),若使用addPeriodicSync()創(chuàng)建一個(gè)同步時(shí),同步周期不會(huì)完全精確,下次同步時(shí)間與同步周期之間會(huì)有4%的誤差。
若需指定固定的同步間隔,需使用新提供的requestSync()接口。
Ø AlarmManager
Kitkat為了節(jié)省電量,將間隔相近的Alarm都合成一批進(jìn)行提醒,以防止系統(tǒng)被頻繁喚醒;
設(shè)置targetSdkVersion為19時(shí),若使用set()或 setRepeating()創(chuàng)建Alarm,提醒時(shí)間會(huì)不準(zhǔn)確;
同時(shí),提供了兩個(gè)新的接口
• setWindow() :設(shè)置Alarm在特定時(shí)間范圍內(nèi)進(jìn)行提醒
• setExact():設(shè)置Alarm的精確時(shí)間
(二) 性能優(yōu)化
專門為低配置設(shè)備優(yōu)化,512MB RAM的設(shè)備也能夠運(yùn)行Kitkat
(三) 打印框架
Android包含了一整套完整的打印框架,可通過Wi-Fi、藍(lán)牙或其他服務(wù),將需打印文檔的App與提供打印服務(wù)的打印機(jī)連接起來,打印各類文檔。其中,android.print框架提供了所有的API。
(四) 動(dòng)作傳感器
Kitkat新增了步數(shù)和計(jì)數(shù)傳感器, 新的Sensor TYPE_GEOMAGNETIC_ROTATION_VECTOR提供手機(jī)的旋轉(zhuǎn)矢量,當(dāng)手機(jī)處于休眠狀態(tài)時(shí),仍可以記錄設(shè)備的方位。同時(shí),搭載 Kitkat的Nexus 5中內(nèi)置了計(jì)步Sensor:TYPE_STEP_DETECTOR,和計(jì)數(shù)sensor:YPE_STEP_COUNTER。
(五) NFC支付框架
支持使用HCE傳輸協(xié)議進(jìn)行支付,采用非接觸式ISO/IEC 14443-4傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸。
開發(fā)者可以通過以下步驟在App中使用這些協(xié)議模擬NFC:
1. 創(chuàng)建基于HostApduService 的service組件
2. 創(chuàng)建一個(gè)繼承OffHostApduService class 的service
3. 在manifest文件中注冊(cè)AIDs
(六) 優(yōu)化渲染速度
Kitkat優(yōu)化渲染速度的提高主要體現(xiàn)在3個(gè)方面:
• 應(yīng)用程序運(yùn)行RenderScript時(shí),無需重新編譯,會(huì)自動(dòng)進(jìn)行性能調(diào)優(yōu)
• 搭載Kitkat版本的Nexus 5,GPU運(yùn)算速度得到大幅提高
• NDK中提供了新的C++ API,可以直接調(diào)用framework APIs,實(shí)現(xiàn)同樣的渲染功能
(七) 其他API變化
• Multimedia
• TransitionManager
• surfaceflinger升級(jí)到了OpenGL ES2.0
• 增強(qiáng)通知訪問
#p#
UE(設(shè)計(jì)師)(一) 觸摸反饋
Kitkat之前,Android默認(rèn)的觸摸反饋顏色是很顯眼的藍(lán)色,Kitkat之后,觸摸反饋顏色為帶較淺陰影的輕微亮色,顯示更加柔和,且能更好的適應(yīng)不同App自有的顏色。
(二) 手勢(shì)
l 雙擊手勢(shì)是通過快速雙擊實(shí)現(xiàn)的,可以按比例放大界面顯示,同時(shí)也被作為選擇文本的間接方式
l 雙擊拖動(dòng)手勢(shì)是通過雙擊后快速向上或向下滑動(dòng)實(shí)現(xiàn)的,可以放大或縮小內(nèi)容顯示比例。雙擊后向上滑動(dòng),放大顯示,向下滑動(dòng)可以縮小顯示
(三) 強(qiáng)化品牌特色
新增加了“Your Branding”設(shè)計(jì)規(guī)范,規(guī)范如何更好的凸顯品牌特色。
• App可以使用自有的顏色替換Android框架默認(rèn)的藍(lán)色UI元素,比如checkbox、進(jìn)度條等系統(tǒng)控件
• 可以利用一些強(qiáng)烈的顏色對(duì)比,來強(qiáng)調(diào)重點(diǎn)內(nèi)容
• 在Action bar顯示App的Launcher icon和名稱,使用戶在各個(gè)界面都能看到App的名稱和圖標(biāo)
使用系統(tǒng)中具有相同功能的圖標(biāo),比如分享圖標(biāo),但是也可以設(shè)計(jì)成自己App的顯示風(fēng)格
(四) 半透明UI樣式
新的狀態(tài)欄是漸變透明的, 最大限度的允許屏幕顯示更多內(nèi)容,也可以讓狀態(tài)欄和 Action Bar 融為一體,僅僅留下最底的背景顏色,以免通知欄內(nèi)容和 Action Bar 文字/圖標(biāo)難以識(shí)別
鎖屏和主界面中,底欄從黑色變透明,更加美觀
(五) 全屏顯示
Kitkat新增全屏顯示,使用戶在玩游戲、瀏覽圖片、讀書時(shí),更專注于顯示內(nèi)容,并避免不小心退出等誤操作,使得視覺打擾最小化。
當(dāng)用戶想要顯示狀態(tài)欄和導(dǎo)航欄時(shí),可以通過從屏幕上邊緣或者下邊緣向內(nèi)滑動(dòng)的方式,調(diào)出狀態(tài)欄和導(dǎo)航按鍵。
(六) 鎖屏界面
聽音樂時(shí)鎖屏,鎖屏界面會(huì)全屏顯示音樂的專輯封面,界面比較美觀,并可以在鎖屏界面進(jìn)行播放、暫停、選擇下一曲等操作。
#p#
QA(測(cè)試工程師)(一) 內(nèi)存分析工具Procstats
Procstats可以監(jiān)控一段時(shí)間內(nèi)系統(tǒng)所有App進(jìn)程以及service的內(nèi)存使用情況。對(duì)于系統(tǒng),可以通過監(jiān)控?cái)?shù)據(jù)來分析是哪個(gè)進(jìn)程發(fā)生了內(nèi)存問題(如內(nèi)存泄露)對(duì)于App,可以定位出是主進(jìn)程還是service出現(xiàn)問題以及發(fā)生問題的時(shí)間。
使用方法:
1. adb shell dumpsys procstats
2. 可通過設(shè)置中開發(fā)者選項(xiàng)里的process stats來查看屏幕錄像工具
(二) 屏幕錄像工具
Android4.4之后,支持在手機(jī)端進(jìn)行屏幕錄像,文件保存成MP4格式。
錄制方法:
adbshell screenrecord “路徑”+“文件名”.mp4
adbpull “路徑”+“文件名”.mp4
若App無需記錄屏幕錄像,調(diào)用SurfaceView.setSecure() 函數(shù)即可。
Android下一版本預(yù)測(cè)
回溯Android的升級(jí)歷史,從1.x到2.x間的發(fā)展,主要是完善系統(tǒng)的基礎(chǔ)能力,包括補(bǔ)充更完善的核心功能、更豐富的交互方式等。3.x則加入了對(duì)平板市場(chǎng)的摸索和嘗試,是Android全平臺(tái)戰(zhàn)略的開始。
在對(duì)用戶體驗(yàn)日益苛刻的4.x時(shí)代,Google將重點(diǎn)放在了UI設(shè)計(jì)、性能提升上,以此提高OS的體驗(yàn),保持自己在OS之爭中的競(jìng)爭力。
到 了Kitkat,Android除了繼續(xù)完善平臺(tái)基礎(chǔ)能力外,還整合和吸納了大量優(yōu)秀App的元素,以此豐富OS的使用場(chǎng)景,減少用戶對(duì)外部App的依 賴。從中不難看出Google希望在繁榮App生態(tài)的同時(shí),繼續(xù)保持對(duì)整個(gè)生態(tài)圈控制力的決心。這也是Google和App、廠商三方之間無法避免的反復(fù) 博弈過程。
可以預(yù)見,在下一次升級(jí),Android將繼續(xù)對(duì)系統(tǒng)能力做擴(kuò)展,整合有價(jià)值的基礎(chǔ)服務(wù)或App,并進(jìn)一步加強(qiáng)核心入口的控制。 Kitkat中Google重點(diǎn)加強(qiáng)了社交和文件管理的入口控制,手機(jī)目前的核心功能在于社交和娛樂。那么接下來,在多媒體、娛樂、設(shè)備間(可穿戴)通信 等方面,Google必然會(huì)加強(qiáng)投入,讓我們拭目以待。