美文网首页Android开发部落Android开发经验谈Android开发
【安卓开发】为什么图片要适配不同手机

【安卓开发】为什么图片要适配不同手机

作者: BeJack | 来源:发表于2017-03-24 18:08 被阅读0次

    场景

    开发中经常会有一个现象,在一部720P的手机,使用了一个图标,图标放在了hdpi目录下,看着挺顺眼,然后拿一部480P手机一看,咦,还是那么顺眼,最后拿一部1080P的手机一看,见鬼了,图标不止变大了,还变模糊了,有好多像素点!!

    原因


    根据上面这段话一看就知道原因了
    原来当我们放图标的时候,放在hdpi的包下,那么默认适配的就是720P的手机,

    • 对于480P的手机
      如果使用480P的手机看界面,会发小图标相对整个界面变小了,但是由于全部控件都变小了,所以很多时候,并不会去察觉有什么不妥,更多的是影响内存消耗,要知道,480P的手机属于低端手机,对内存的消耗就更加苛刻,此时使用720P包下的图片资源,必定带来内存的高消耗。
    • 对于1080P的手机
      此时内存消耗的重要性相比之下反而不是那么重要了,大环境加载小内存,没毛病。可是界面上就赤裸裸地暴露了我们开发上的不足,全部界面资源被拉伸,控件资源由于是绘制的,影响不大,但是图片资源是加载的,在高像素硬件下使用了低分辨率图片,为了保持原有的界面控件相对的占用控件,图片就必须得拉伸,这就导致了图片分辨率降低,同时拉伸后内存消耗也相应地增大

    如何解决

    • 牺牲界面
      把放在hdpi包下的图标放到xhdpi包下,就如截图上说的一样,但这样做在720P下的正常界面,在1080P下相对于整体界面会变得小一点,在有些场景下,相对于图标变得很模糊很大来说,图标小一点其实也是可以接受的。
    • 牺牲内存
      望文生义,再配置一套1080P的图标,首先你的APK包会变大,加载图片的时候,消耗的内存也相应增多,要么只留一套1080P图片,这样子720P,480P手机使用你的APP的时候,对内存的消耗会很大,应用更卡

    相关文章

      网友评论

        本文标题:【安卓开发】为什么图片要适配不同手机

        本文链接:https://www.haomeiwen.com/subject/xrvfottx.html