APP開發(fā)實(shí)戰(zhàn)174-Android7.0的屏幕縮放功能對(duì)APP的影響
Android 7.0 支持用戶設(shè)置顯示尺寸,以放大或縮小屏幕上的所有元素,從而提升設(shè)備對(duì)視力不佳用戶的可訪問性。用戶無法將屏幕縮放至低于最小屏幕寬度 sw320dp,該寬度是 Nexus 4 的寬度,也是常規(guī)中等大小手機(jī)的寬度。

圖 右側(cè)屏幕顯示的是一臺(tái)運(yùn)行 Android 7.0 系統(tǒng)映像的設(shè)備增大顯示尺寸后的效果。
當(dāng)設(shè)備密度發(fā)生更改時(shí),系統(tǒng)會(huì)以如下方式通知正在運(yùn)行的應(yīng)用:
如果是面向 API 級(jí)別 23 或更低版本系統(tǒng)的應(yīng)用,系統(tǒng)會(huì)自動(dòng)終止其所有后臺(tái)進(jìn)程。這意味著如果用戶切換離開此類應(yīng)用,轉(zhuǎn)而打開 Settings 屏幕并更改 Display size 設(shè)置,則系統(tǒng)會(huì)像處理內(nèi)存不足的情況一樣終止該應(yīng)用。如果應(yīng)用具有任何前臺(tái)進(jìn)程,則系統(tǒng)會(huì)如處理運(yùn)行時(shí)更改中所述將配置變更通知給這些進(jìn)程,就像對(duì)待設(shè)備屏幕方向變更一樣。
如果是面向 Android 7.0 的應(yīng)用,則其所有進(jìn)程(前臺(tái)和后臺(tái))都會(huì)收到有關(guān)配置變更的通知,如處理運(yùn)行時(shí)更改中所述。
大多數(shù)應(yīng)用并不需要進(jìn)行任何更改即可支持此功能,不過前提是這些應(yīng)用遵循 Android 最佳做法。具體要檢查的事項(xiàng):
在屏幕寬度為 sw320dp 的設(shè)備上測試您的應(yīng)用,并確保其充分運(yùn)行。
當(dāng)設(shè)備配置發(fā)生變更時(shí),更新任何與密度相關(guān)的緩存信息,例如緩存位圖或從網(wǎng)絡(luò)加載的資源。當(dāng)應(yīng)用從暫停狀態(tài)恢復(fù)運(yùn)行時(shí),檢查配置變更。
注:如果您要緩存與配置相關(guān)的數(shù)據(jù),則最好也包括相關(guān)元數(shù)據(jù),例如該數(shù)據(jù)對(duì)應(yīng)的屏幕尺寸或像素密度。保存這些元數(shù)據(jù)便于您在配置變更后決定是否需要刷新緩存數(shù)據(jù)。
避免用像素單位指定尺寸,因?yàn)橄袼夭粫?huì)隨屏幕密度縮放。應(yīng)改為使用與密度無關(guān)像素 (dp) 單位指定尺寸。
滇公網(wǎng)安備 53011202001166號(hào)
15808795836