文/腾讯公司 陈江峰
优测小优有话说:android
android开发的坑天然是很多,不想掉坑快来优测优社区~
最近一朋友提了几个Android问题让我帮忙写个小分享,我以为对新人仍是挺有帮助的。因而在原基础上针对咱们的业务,对回答作了一些修改和补充。数组
1.目前, Android APP开发完成后,一般须要在哪些机型上进行测试?
2.目前,开发Android APP时,须要考虑的分辨率有哪些?安全
源自Google Play的数据,每个月都会进行update,能够及时了解Android版本比例趋势。服务器
屏幕密度数据网络
也能够参考一下国内一个第三方数据函数
目前三星和小米市场占有率是遥遥领先的,三星Note二、Note三、S三、S四、S五、小米12三、红米必须测试,魅族也比较坑爹,加入测试名单吧。再选中小屏幕各一款(譬如华为C8650、Moto ME511)。
Android 1.五、1.六、2.0、2.1和小屏幕的属于古董级别的机器,市场存量也不多,新出的机器都是4.0以上的了,因此必要时须要舍弃对古董的支持,由于适配成本很高,对于新开发的应用,这个适配不值得投入。工具
3.目前,开发Android APP时,适应多个分辨率的技术方案有哪些?性能
Android的屏幕适配,能够在工程res目录下进行处理,无需写代码,Android自动找最适合的资源进行显示,相信你们都至关熟悉的了。
目前我使用的是ADT22.6,新建一个Android工程,会自动在res目录下生成这个目录结构。
这里有5个前缀drawable的文件夹,对应不一样密度屏幕时所取的图片资源或者样式。测试
虽然不做任何改动也能够在Android Pad上跑,但因为Pad屏幕较大,操做体验不同,建议从新设计。加密
4.开发Android APP时,配置文件应放在哪里(APP本地、远程WeB Server中)?应该如何考虑?
这个就要看需求了,若是只是本机使用,譬如保存软件设置,不须要联网操做的,那首选固然是保存在本地。
若是业务须要和服务器交互,能够作成云配置方式。为了跨平台的兼容性,能够考虑使用Google的ProtoBuf,比XML更小更快更简单,后台和终端定义一套协议,自动生成C++、Java或者Python代码。
小坑提示:
UniPacket的getByClass(String,T);
若是T是一个数组,那必须add一个元素进去,而且结果是从函数返回,并不是给T的。
上面看似没问题,我被坑过一次,国际版的同事也遇过几回这样的问题,你们注意注意。
5.Android APP测试方案一般考虑哪些因素?有测试方案的参考实例吗?
机型适配:
屏幕大小,这个只能人工检验了(程序不知道你的UI长得好很差看)
Android版本(某些API在低版本上没有的,会Crash,推荐Lint静态扫描)
网络质量:
联通、电信、移动、WiFi、弱网络等
安全性:
网络数据一定通过加密处理
本地不保存安全信息(账号密码等),或者加密保存
代码中敏感信息尽可能使用byte数组而不是字符串
代码混淆处理(Proguard)
边界(极限)状况:
SD卡剩余空间不多,没SD卡,双SD卡,飞行模式,时间有误等。
性能:
CPU、内存占用(开发可使用Linux的top命令或者DDMS里面的工具)
网络流量消耗(有各类第三方流量监控软件)
腾讯优测(utest.qq.com)是专业化的移动APP自动化测试工具,提供【兼容性测试】【云手机】【漏洞检测】【VIP定制化测试-优管家】等多维度测试服务,深受用户信赖。