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

场景

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

原因


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

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

如何解决

  • 牺牲界面
    把放在hdpi包下的图标放到xhdpi包下,就如截图上说的一样,但这样做在720P下的正常界面,在1080P下相对于整体界面会变得小一点,在有些场景下,相对于图标变得很模糊很大来说,图标小一点其实也是可以接受的。
  • 牺牲内存
    望文生义,再配置一套1080P的图标,首先你的APK包会变大,加载图片的时候,消耗的内存也相应增多,要么只留一套1080P图片,这样子720P,480P手机使用你的APP的时候,对内存的消耗会很大,应用更卡
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,405评论 25 708
  • 屏幕适配 屏幕适配的概念 碎片化既是 Android 的优势和弱点,也是开发者们头疼的问题,同时也为 Androi...
    s酸菜阅读 9,912评论 9 58
  • 使用sketch最重要的一点是设计好控件的规范。 为做好设计规范需要对色彩进行编号,比如:color_a”_1,c...
    youyeath阅读 26,298评论 2 237
  • 开篇 近日,在研究屏幕适配的问题,由于涉及比较多概念,例如ppi、dpi、dip、px等等,在适配屏幕的时候经常不...
    炮八平五阅读 991评论 0 7
  • 能笑成这样,我也是醉了 童年总归是童年,你要说我傻,也没办法 秋千,不吱嘎作响了,我,越荡越高 荡在前面,双腿飞起...
    田田妈_c498阅读 263评论 0 0