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