·? ? TV端主要包括但不限于智能電視(TV)、網絡機頂盒(盒子)、Android投影儀(投影儀),以下統稱TV端設備。做TV端開發將近一年了,公司在的主要業務是在TV端,要適配市面上大量的TV、盒子、投影,TV端設備良莠不齊,屏幕尺寸千差萬別,比手機開發要小心處理的東西更多。這里記錄下? 性能、分辨率、事件處理、動畫 這幾個方面的一些注意事項。
????? 設備性能方面:與手機相比,在CPU和RAM上相比整體差了很多,所以在TV端app開發中更加注重性能,很多在手機上能完美運行的控件,在TV端效果都差強人意;另外要開發中及時關注app內存占用,及時釋放無用內存;設備內存實在無法滿足app需求的時候,可以考慮拆分進程,但這會導致其他的一些問題,稍后再敘;圖片不宜過大,目前來看720p的圖片已經足夠,過大的圖片會影響加載速度和增加內存占用,在壓縮圖片體積方面可以考慮使用webp,但要注意一點 Android 4.0以上系統才開始支持webp圖片格式,4.2.1以上系統才開始支持帶有透明區域的webp格式也就是說4.0-4.2.0系統只能使用不含透明區域的webp圖片。
? ? 屏幕方面:設備分辨率720p與1080p設備分辨率居多,但在部分投影、盒子、TV中還在使用480甚至更低的屏幕分辨率;部分設備屏幕密度低,比如說有一家的投影設備只有160dpi,這就需要在原有分辨率適配基礎上增加屏幕密度適配;極少數的設備使用的Android系統含有虛擬按鍵,廠家一般都會主動隱藏,但這會導致5.0以上Android系統使用原有的方式獲取到的屏幕高度不準確,這一點需要注意。
? ? ? 事件處理:TV端設備的操作基本上都靠使用遙控器,部分設備同時支持鼠標操作,所以事件處理方式與手機端就大相徑庭。獲取控件焦點不可缺少,比如一個普通按鈕的點擊事件,只有在該按鈕獲取到焦點的時候點擊才能生效。一些復雜界面的操作,通常在處理控件焦點事件的基礎上在Activity中添加事件攔截處理。
???? 動畫:動畫盡量使用屬性動畫,同時可使用一些第三方動畫庫提高動畫的易用性,比如我個人覺得很不錯的一個動畫庫,一個流暢的Android動畫庫 - ViewAnimator,使用動畫的時候要注意性能,前面有說到TV端設備通常情況下性能較差,會影響動畫的流暢性,所以盡量避免在執行動畫的時候同時執行其它的任務。
? ??
Android TV端開發注意事項
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- 內容抽屜菜單ListViewWebViewSwitchButton按鈕點贊按鈕進度條TabLayout圖標下拉刷新...