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

2021年11月24日 阅读数:13
这篇文章主要向大家介绍Android app开发捷径,让你少去踩坑,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

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

目前华为、三星和小米市场占有率是遥遥领先的,华为各机型、三星Note二、Note三、S三、S四、S五、小米12三、红米必须测试,魅族加入测试名单吧。再选中小屏幕各一款(譬如华为C8650、Moto ME511)。segmentfault

Android 1.五、1.六、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短信权限设置,原生系统带有新接口,第三方系统可能裁剪掉了。ide

什么状况下发生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还不错的。作出来的产品好仍是很差,须要有产品数据支撑,因此加插相关数据统计上报点,哪一个功能热门,新增用户多少,活跃用户多少,一目了然。