• 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)


    文/腾讯公司 陈江峰
    优测小优有话说:
       android开发的坑自然是不少,不想掉坑快来优测优社区~
    最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的。于是在原基础上针对我们的业务,对回答做了一些修改和补充。

    1.目前, Android APP开发完成后,通常需要在哪些机型上进行测试?
    2.目前,开发Android APP时,需要考虑的分辨率有哪些?

    源自Google Play的数据,每月都会进行update,可以及时了解Android版本比例趋势。

    屏幕密度数据

    也可以参考一下国内一个第三方数据

    目前三星和小米市场占有率是遥遥领先的,三星Note2、Note3、S3、S4、S5、小米123、红米必须测试,魅族也比较坑爹,加入测试名单吧。再选中小屏幕各一款(譬如华为C8650、Moto ME511)。
    Android 1.5、1.6、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定制化测试-优管家】等多维度测试服务,深受用户信赖。

    优测云服务平台是腾讯推出的一站式移动云测试服务平台,拥有十年终端测试服务经验,提供兼容性测试、自动化测试、云真机、设备分享等多种服务方式。
  • 相关阅读:
    UE4 ios环境搭建备忘
    我所理解的打击感 逐帧分析过几十款游戏的开发者经验分享
    可重入锁和不可重入锁
    Java中JDK和JRE的区别是什么?它们的作用分别是什么?
    Java开发岗位面试题
    详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
    docker:轻量级图形页面管理工具Portainer
    Docker整合dockerfly实现UI界面管理(单机版)
    docker for mac的JSON配置文件中的hosts项修改后无法生效
    Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本
  • 原文地址:https://www.cnblogs.com/utest/p/5681425.html
Copyright © 2020-2023  润新知