用一台手机去体验多个屏幕的UI

2017-09-20  本文已影响0人  非常好听的昵称
前因后果

在平时的开发过程中,不管是用模拟器还是真机调试,做出来产品后在大多数的手机上运行的效果还是蛮好的,但是有时候测试说,诶,这个手机上运行的效果不对啊,拿来一看,发现好多的布局都有点偏差,然后适配好了。

可是在测试中的时候发现的还好,万一是线上的版本,有用户投诉或者是老板突然发现了的话就不好了。或者说,如果有用户反馈你这个产品在某某手机上的UI效果不太好,可是你又没有那台机器,怎么办?远程真机?我告诉你,不需要,只要有一台模拟器或者是有root的真机就好了。

不同的手机显示的效果有可能会有好大的差别,但是有时候你会发现,其实它们的分辨率是一样的,但是为什么显示出来的效果会不一样呢?答案是dpi这个东西,像素密度越大,所占的空间比较越小。比如说大部分的手机分辨率是1080x1920的dpi是在400左右的,但是vivo的某些机型dpi却是380左右。当然显示就会存在差别。

这里不说怎么适配各个屏幕显示效果的问题,只说说怎么样才能在720p的手机显示1080p的效果,还有模仿实际真机的显示效果。

比如现在我有一台手机是720x1280,dpi是320的手机,屏幕显示效果正常,那么如果线上的版本有人反馈说在1080x1920,dpi是401的手机上显示效果有问题,那么该如何去操作才能在这台720x1280的手机去查看1080x1920显示的效果呢?

首先,可以去各大应用市场下载 终端模拟器 并安装在手机上,注意没有root的手机是不能修改分辨率的。
接着输入以下命令:

su
wm size 1080x1920
wm density 401

解释:

  1. su是申请root权限的,修改手机的分辨率当然要权限的嘛。
  2. wm size 1080x1920是把手机分辨率改成1080x1920,wm是windowmanager,还有下面的常用操作:
wm size // 查看手机的分辨率
wm size reset // 重置手机分辨率
wm density  // 查看手机的密度值
wm density reset // 重置手机的密度值

当你想在某手机型号上查看显示效果时,你只需要知道这个手机的分辨率和dpi值就能修改了,非常的方便。其实如果手机连接了电脑的情况下是不需要为手机安装任何软件的,只需要在cmd命令行中执行上面的命令也可以达到想要的效果。

下面附带一些常用的adb命令
  1. 查看当前连接的手机(模拟器)设备
adb devices
  1. 杀死和启动adb服务
adb kill-server
adb start-server
  1. 安装应用
adb install apk_file // 默认的安装,会清除数据
adb install -r apk_file // 覆盖安装
  1. 卸载应用
adb uninstall apk_packageName
  1. 当有的手机在卸载完应用后再安装应用会提示应用已存在,实际上是因为卸载后数据有残留,只需操作下面的即可(要root)
adb shell  // 进入手机里面
su
cd /data/data/
rm -r package_name
  1. 列出所有的包名
adb shell
pm list packages
  1. 查看手机最顶栈的activity是哪个
db shell dumpsys activity top
上一篇下一篇

猜你喜欢

热点阅读