最近作的項目有幸用到了騰訊優測雲測試平臺,作Android開發最大的問題應該就是適配了。曾經有這麼一個段子:某個作Android應用的創業公司破產了,不是由於技術不行,而是由於他們沒錢買機器來作適配了。
固然這僅僅是一個段子,但Android的碎片化確實是一個很嚴重的問題。因爲Android系統是開源的,各個廠商可能都會有本身定製的ROM。
那麼問題就來了,咱們作的APP須要針對這些不一樣的ROM來適配,保證APP可以在不一樣的ROM下正常使用。Android手機和ROM那麼多,咱們不可能把全部的手機都買回來作適配。工具
有了騰訊優測,今後適配變得如此簡單。咦,我怎麼好像在給這個產品作廣告呢?隨便打賞點就行了~測試
項目中有一個功能點是掃描二維碼,咱們使用了開源的zxing來實現這個功能。原本這是一個很簡單的流程,調用相機,對焦掃描二維碼,對二維碼中的信息進行解碼。
可是問題來了,各個廠商的相機參數不一樣,屏幕尺寸的比例又不統一,若是設置的previewSize參數不對,調用相機的時候會發現畫面有拉伸,有時候還會出現花屏的現象。spa
好在咱們能夠獲取到相機所支持的全部預覽尺寸,以及屏幕的寬度和高度。調試
Camera.Parameters parameters = camera.getParameters();
List sizes = parameters.getSupportedPreviewSizes();對象
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
其中,displayMetrics對象包含了屏幕的寬和高。
咱們能夠根據屏幕的尺寸,從相機所支持的預覽尺寸列表中,選擇最合適的previewSize來設置camera的參數。如何選擇最合適的預覽尺寸,能夠參考官方demo中的作法。
這裏的代碼不能格式化,只好貼截圖了:遊戲
我這裏說到的坑只是適配問題的冰山一角,後續若是有更多的填坑經歷,我再與你們一塊兒分享~
文/騰訊 劉寧
_
騰訊優測是專業的移動雲測試平臺,爲應用、遊戲、H5混合應用的研發團隊提供產品質量檢測與問題解決服務。不只在線上平臺提供自動化兼容性測試、雲手機遠程租用與調試、漏洞分析、自動化測試工具Xtest等多種質量檢測工具,更爲VIP客戶配備了專家團隊提供定製化綜合測試解決方案。開發