場景
開發(fā)中經(jīng)常會有一個現(xiàn)象九妈,在一部720P的手機反砌,使用了一個圖標,圖標放在了hdpi目錄下萌朱,看著挺順眼宴树,然后拿一部480P手機一看,咦晶疼,還是那么順眼酒贬,最后拿一部1080P的手機一看,見鬼了冒晰,圖標不止變大了同衣,還變模糊了,有好多像素點:恕耐齐!
原因
根據(jù)上面這段話一看就知道原因了
原來當我們放圖標的時候,放在hdpi的包下蒋情,那么默認適配的就是720P的手機埠况,
- 對于480P的手機
如果使用480P的手機看界面,會發(fā)小圖標相對整個界面變小了棵癣,但是由于全部控件都變小了辕翰,所以很多時候,并不會去察覺有什么不妥狈谊,更多的是影響內(nèi)存消耗喜命,要知道,480P的手機屬于低端手機河劝,對內(nèi)存的消耗就更加苛刻壁榕,此時使用720P包下的圖片資源,必定帶來內(nèi)存的高消耗赎瞎。 - 對于1080P的手機
此時內(nèi)存消耗的重要性相比之下反而不是那么重要了牌里,大環(huán)境加載小內(nèi)存,沒毛病务甥∧盗桑可是界面上就赤裸裸地暴露了我們開發(fā)上的不足喳篇,全部界面資源被拉伸,控件資源由于是繪制的态辛,影響不大麸澜,但是圖片資源是加載的,在高像素硬件下使用了低分辨率圖片因妙,為了保持原有的界面控件相對的占用控件痰憎,圖片就必須得拉伸,這就導(dǎo)致了圖片分辨率降低攀涵,同時拉伸后內(nèi)存消耗也相應(yīng)地增大
如何解決
- 犧牲界面
把放在hdpi包下的圖標放到xhdpi包下铣耘,就如截圖上說的一樣,但這樣做在720P下的正常界面以故,在1080P下相對于整體界面會變得小一點蜗细,在有些場景下,相對于圖標變得很模糊很大來說怒详,圖標小一點其實也是可以接受的炉媒。 - 犧牲內(nèi)存
望文生義,再配置一套1080P的圖標昆烁,首先你的APK包會變大吊骤,加載圖片的時候,消耗的內(nèi)存也相應(yīng)增多静尼,要么只留一套1080P圖片白粉,這樣子720P,480P手機使用你的APP的時候鼠渺,對內(nèi)存的消耗會很大鸭巴,應(yīng)用更卡