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

来源:互联网 发布:java上传图片 编辑:程序博客网 时间:2024/05/01 21:54

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

    博客分类: 
  • Android学习笔记
Android 手机 图片适配 开发

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

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

Java代码  收藏代码
  1. public class ScreenTools {  
  2.     /**  
  3.     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)  
  4.     */    
  5.     public static int dip2px(Context context, float dpValue) {    
  6.       final float scale = context.getResources().getDisplayMetrics().density;    
  7.       return (int) (dpValue * scale + 0.5f);    
  8.     }    
  9.         
  10.     /**  
  11.     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp  
  12.     */    
  13.     public static int px2dip(Context context, float pxValue) {    
  14.       final float scale = context.getResources().getDisplayMetrics().density;    
  15.       return (int) (pxValue / scale + 0.5f);    
  16.     }  
  17. }  
以上在iphone开发适配中同样适用
0 0
原创粉丝点击