文/腾讯公司 陈江峰

最近一朋友提了几个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里面的工具)
网络流量消耗(有各种第三方流量监控软件)

Android开发在路上:少去踩坑,多走捷径(上)相关推荐

  1. Android开发在路上:少去踩坑,多走捷径

    转:http://djt.qq.com/article/view/1193 作者:gzjay,腾讯MIG无线产品部 高级工程师 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是 ...

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

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

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

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

  4. 【转】Android开发在路上:少去踩坑,多走捷径

    本文是我订阅"腾讯大讲堂"公众帐号时,他们推送的一篇文章,但在腾讯大讲堂官网上我并没有找到这篇文章,不过其它专门"爬"公众号文章的网站倒是有.我觉得写的很不错. ...

  5. Android app开发捷径,让你少去踩坑

    Android APP开发完成后,通常需要在哪些机型上进行测试? 开发Android APP时,需要考虑的分辨率有哪些? 目前华为.三星和小米市场占有率是遥遥领先的,华为各机型.三星Note2.Not ...

  6. Android开发之少去踩坑,多走捷径【转】

    作者:gzjay,腾讯MIG无线产品部 高级工程师 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享. 1.目前, Android APP开发完成 ...

  7. Android app开发捷径,让你少去踩坑 1

    Android APP开发完成后,通常需要在哪些机型上进行测试? 开发Android APP时,需要考虑的分辨率有哪些? 目前华为.三星和小米市场占有率是遥遥领先的,华为各机型.三星Note2.Not ...

  8. android代码混淆个人总结及踩坑

    android代码混淆个人总结及踩坑 前言 公司项目使用组件化开发的形式,需要对自己负责的模块进行一些混淆配置,关于混淆相信做android开发的都或多或少有过一些接触,通过对混淆文件的配置从而将代码 ...

  9. python去除中间空格只留一个_汇总初学Python的21个操作难点,看完别再去踩坑了...

    初学Python时,不管是容易的操作难点,还是困难的操作难点,都是要一步步的去踩坑摸索得出结果,小编今天就给大家汇总初学时Python的21个操作难点,看完之后可别再去掉到同样的坑里去了. 1 查找当 ...

最新文章

  1. Python Numpy包安装
  2. python菜鸟教程h-python菜鸟教程,python好玩又简单的代码
  3. T-SQL编程基础-基本语法
  4. 梅林安装opkg后安装iperf3_centos7安装完成后没网
  5. MySQL主从复制Linux实现
  6. 17个实用的JavaScript数组和对象的方法
  7. 控制反转IOC与依赖注入DI
  8. C++ 面向对象(二)—— 操作符重载
  9. 【温故知新】c#事件event
  10. 【最大连接数】Linux的文件最大连接数
  11. 你还敢用鼠标吗?黑客在百米之外控制你的鼠标
  12. 时间序列(二):时间序列平稳性检测
  13. Centos7下WebLogic安装部署
  14. 利用Freessl部署免费SSL证书
  15. 中国银联Applepay客户端接入
  16. MFC中添加工具条(TOOLBAR)
  17. Android快捷开关实现
  18. [Codeforces266E]More Queries to Array...——线段树
  19. 西门子200smart自创库与说明
  20. Python数据分析之获取数据

热门文章

  1. 百度地图聚合点的展示
  2. 实践:nginx代理,通过使用GeoIp模块获取访问者IP及访问地区信息
  3. 【2020年APP-Flutter混合开发之路】01 - Flutter的初步思考和开发部署
  4. 记录-蓝鲸相关知识点
  5. 229. Majority Element II 【M】【52】
  6. RTX腾讯通怎么删除群聊人员
  7. SpringCloud Hystrix服务熔断和降级的理解
  8. EverBox开发笔记-2-iCloud-KeyValueStore
  9. C语言 实现 最长名字输出
  10. css盒模型(css的两种盒模型:标准盒模型、怪异盒模型)和 css3指定盒子模型种类的box-sizing属性