Android App从服务器请求的图片到底该用多大?
程序员文章站
2022-06-04 15:30:43
...
初次搞客户端开发,一直听说图片适配很头疼云云,图片到底该用多大?网上有很多文章谈适配问题了,能从百度、谷歌搜到的基本都是谈屏幕分辨率、密度、图片放到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开发适配中同样适用
上一篇: 使用微信SDK后APK打包失败