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

目前华为、三星和小米市场占有率是遥遥领先的,华为各机型、三星Note2、Note3、S3、S4、S5、小米123、红米必须测试,魅族加入测试名单吧。再选中小屏幕各一款(譬如华为C8650、Moto ME511)。

Android 1.5、1.6、2.0、2.1和小屏幕的属于古董级别的机器,市场存量也很少,新出的机器都是4.0以上的了,所以必要时需要舍弃对古董的支持,因为适配成本很高,对于新开发的应用,这个适配不值得投入。

开发Android APP时,配置文件应放在哪里(APP本地、远程WeB Server中)?应该如何考虑?  

这个就要看需求了,如果只是本机使用,譬如保存软件设置,不需要联网操作的,那首选当然是保存在本地。如果业务需要和服务器交互,可以做成云配置方式。为了跨平台的兼容性,可以考虑使用Google的ProtoBuf,比XML更小更快更简单,后台和终端定义一套协议,自动生成C++、Java或者Python代码。

Android APP测试方案通常考虑哪些因素? 

机型适配:屏幕大小,这个可以找第三方TestBird做,同时测试几百部机型;
Android版本:某些API在低版本上没有的,会Crash,推荐Lint静态扫描;
网络质量:联通、电信、移动、WiFi、弱网络等;
安全性:网络数据必定经过加密处理;本地不保存安全信息(帐号密码等),或者加密保存;
代码中敏感信息尽量使用byte数组而不是字符串代码混淆处理(Proguard);
SD卡剩余空间很少,没SD卡,双SD卡,飞行模式,时间有误等。
性能:CPU、内存占用(开发可以使用Linux的top命令或者DDMS里面的工具)
  
Android APP开发中其它需要提醒的问题

android4.4在UI线程无法进行网络操作不单只android API版本不一定导致运行异常,有些机型还使用Java 1.5进行编译,使用某些Java 1.6的函数会Crash的。

注意OOM问题,目前android手机已经有3G内存了,但并非一个应用就能使用全部内存。了解一下堆内存,一个软件至少一个进程,一个进程跑一个虚拟机,进程使用的堆内存大小,每部手机不一定一样。
  
Show Dialog的问题,永远要判断Activity是否还在。
使用了高版本的API函数,在低版本机器上挂了。
非UI线程不能操作UI。可能有各种权限被禁的问题。
没有浏览器、没有软件安装器、没有Email等发生ActivityNotFoundexception。
超快速连续点击按钮可能触发跑多个线程的问题。
Android4.4短信权限设置,原生系统带有新接口,第三方系统可能裁剪掉了。

什么情况下发生OOM,如何避免?

图片操作(图片缩放、bitmap生成等)、序列化反序列化数据等会消耗大量内存。合理使用数据结构(链表和数组),及时释放引用,使用弱引用等能降低OOM情况发生。

出现ANR怎么办?

如果Android程序某个操作执行等待超过5s,会出现ANR(Application Not Responding)的对话框,对于执行耗时的操作,譬如网络操作,就不能在主线程上进行了(Android 4.4不让你这样做了),这些任务应该跑在主线程外,譬如新建一个线程处理,或者自己写一个网络引擎对所有网络请求进行管理。

如何跟踪研发质量?

代码缺陷扫描,不扫不知道,一扫吓一跳。满分推荐!Fro Free!如果你写的是开源代码,还能直接接入GitHub,超方便。Crash是无法避免的,我们能做的是尽量把Crash的情况减少。发出去的版本,用户发生Crash了,我们需要把Crash数据收集起来。所以软件需要做一个Crash上报,汇总整理。统计每个版本的Crash率,并把Crash按优先级进行修复。

如果跟踪用户对产品的反馈?

不管你写软件所用的技术有多么牛B,用户是不知道的,也不关心的。用户关心的是你的产品体验到底有多牛B。加上用户可以轻松反馈的反馈功能,你会发现有时用户的idea还不错的。做出来的产品好还是不好,需要有产品数据支撑,所以加插相关数据统计上报点,哪个功能热门,新增用户多少,活跃用户多少,一目了然。

Android app开发捷径,让你少去踩坑相关推荐

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

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

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

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

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

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

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

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

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

    文/腾讯公司 陈江峰 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的.于是在原基础上针对我们的业务,对回答做了一些修改和补充. 1.目前, Android APP开 ...

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

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

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

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

  8. 写给Android App开发人员看的Android底层知识合集(1-8)

    写给Android App开发人员看的Android底层知识合集(1-8) 转自包老师:http://www.cnblogs.com/Jax/p/6864103.html 写给Android App开 ...

  9. android开发入门与实践_我的新书《Android App开发入门与实战》已经出版

    前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...

最新文章

  1. CommonJS 的 AMD 规范
  2. 今天我解决的sql中文乱码问题
  3. 三味Capsule:矩阵Capsule与EM路由
  4. 什么决定了电商双11大促的成败
  5. yii2 ajax分页,Yii框架分页技术实例分析
  6. 【操作系统】信号量的用法
  7. 计算机网络之网络概述:6、TCP/IP模型和5层参考模型
  8. android开发 存储权限,Android openFileOutput – 没有创建存储的权限
  9. Caffe官方例程之 特征可视化python代码 (filter visualization notebook)
  10. Android对话框的使用总结
  11. 论述:数值计算中的精度问题
  12. 理解雅可比矩阵和海森矩阵
  13. 仿豆丁flashpaper 网页flash文档播放调用文档资料收集
  14. 推广软件开发分析规范
  15. Vue前端开发——微信扫码支付
  16. ORA-3136报错
  17. 1660_MIT 6.828 JOS初始化boot_alloc的初步实现
  18. 学习黑客技术打败黑客才是突破技术巅峰!
  19. 计算机网络框架大纲(脑图可自提)----1.概述
  20. java常见笔试编程题_9道常见的java笔试选择题

热门文章

  1. lambda函数详解
  2. 【mysql学习笔记整理】
  3. 苏宁Nodejs性能优化实战
  4. Spring @Lazy
  5. linux条件判断:常用练习添加用户
  6. SpringMVC整合fastdfs-client-java实现web文件上传下载
  7. 2.1顺序表(链表)
  8. Android笔记——四大组件详解与总结
  9. 使用十六进制色值表示UIColor
  10. 我的Linux生涯之文件链接