欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android App从服务器请求的图片到底该用多大?

程序员文章站 2024-02-10 22:11:52
...

    初次搞客户端开发,一直听说图片适配很头疼云云,图片到底该用多大?网上有很多文章谈适配问题了,能从百度、谷歌搜到的基本都是谈屏幕分辨率、密度、图片放到mdpi、hdpi、xdpi... 哪个目录下才能适配等,但基本很难找到关于服务器提供多大图片才合适?当然,有人也说,屏幕分辨率多大就请求多大,真的这样吗?我手机是1080x1920分辨率,难道就要从服务器端拽个这么大的图片才合适?烧流量嘛。这么大的图片放电脑上看,满屏了;而从淘宝上扒个图片,也不过780px宽,但看上去依然很清晰。这个说法肯定不成立的。那么可不可以更小呢?

    经过测试得出结论:在现在趋于高分屏的大趋势下(不考虑低分辨率屏幕),手机的图片选择,按手机正常屏幕物理尺寸(或者说是设备独立像素dp) 来决定图片大小即可。比如我手机屏幕宽480dp,分辨率1080*1920,那么选择图片时,只要保证图片宽大于等于480px,放到手机上拉宽后就不会感觉有失真。以下是px转dp,dp转px的工具类:

public class ScreenTools {
    /** 
    * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
    */  
    public static int dip2px(Context context, float dpValue) {  
      final float scale = context.getResources().getDisplayMetrics().density;  
      return (int) (dpValue * scale + 0.5f);  
    }  
      
    /** 
    * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
    */  
    public static int px2dip(Context context, float pxValue) {  
      final float scale = context.getResources().getDisplayMetrics().density;  
      return (int) (pxValue / scale + 0.5f);  
    }
}
以上在iphone开发适配中同样适用