`

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

阅读更多


最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享。

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还不错的。做出来的产品好还是不好,需要有产品数据支撑,所以加插相关数据统计上报点,哪个功能热门,新增用户多少,活跃用户多少,一目了然。
分享到:
评论

相关推荐

    AndroidAPP开发入门教程.pdf

    Android APP 开发入门教程主要介绍了 Android APP 的开发流程,从 SDK 下载、开发环境搭建、代码编写、APP 打包等步骤一一讲解。本教程通过实践操作,带领读者一步步完成 Android APP 的开发,帮助读者快速掌握 ...

    快速的android App开发框架.zip

    快速的android App开发框架.zip快速的android App开发框架.zip快速的android App开发框架.zip快速的android App开发框架.zip快速的android App开发框架.zip快速的android App开发框架.zip快速的android App开发框架....

    【android开发】Android APP开发入门教程Android APP开发入门教程

    【android开发】Android APP开发入门教程Android APP开发入门教程 说明:Android APP开发入门教程Android APP开发入门教程 (Android APP Development tutorialAndroid APP Development tutorial) 文件列表: Android ...

    Android App设计开发 PPT

    【Android App设计开发 PPT】课程内容概览 在Android移动开发领域,Android Studio作为官方推荐的集成开发环境,已经成为开发者的主要工具。本PPT课程是2017年更新的最新教学资源,旨在帮助学习者全面掌握Android...

    Android Studio实例代码.zip_Android app实例_Android实例_android app源码_and

    本压缩包“Android Studio实例代码.zip”包含了多个Android app的实例源码,旨在帮助开发者深入理解并实践Android应用开发。 1. **Android Studio基础** Android Studio基于IntelliJ IDEA,提供了强大的代码编辑、...

    安卓大作业使用AndroidStudio开发的星座app源码.zip

    安卓大作业使用AndroidStudio开发的星座app源码,一个看星座、配对、推荐的app。 安卓大作业使用AndroidStudio开发的星座app源码,一个看星座、配对、推荐的app。安卓大作业使用AndroidStudio开发的星座app源码,一...

    Android App Widget 开发

    最后,为了让用户能够添加你的App Widget到主屏幕,需要在应用程序的主活动中提供一个启动`AddWidgetActivity`的选项。`AddWidgetActivity`可以引导用户完成添加操作。 以上就是一个简单的Android音乐播放器App ...

    Android APP开发入门(高清扫描)

    《Android APP开发入门》这本书是为初学者设计的,旨在帮助读者快速掌握Android应用程序开发的基础知识。高清扫描版确保了内容的清晰可读,对于在线学习或者无法获取实体书的人来说,是一个非常有价值的资源。 ...

    Android Studio开发实战:从零基础到App上线

    总而言之,《Android Studio开发实战:从零基础到App上线》提供了一个全面的学习路径,让初学者能够系统地掌握Android应用开发,最终实现从理论到实践的飞跃,成功将App上线发布到Google Play或其他应用市场。

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版]

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版],这是一本不可多得的介绍使用delphi xe8开发iOS与Android移动应用的电子书,实用的技术开发教程与技术开发手册。 Delphi XE8跨平台开发让你使用一套...

    android App开发实例

    本主题聚焦于"Android App开发实例",提供了四个具体的项目源码,帮助开发者深入理解Android应用程序的设计与实现。这些源码实例覆盖了图片处理、英语单词学习以及实用工具类App的开发。 首先,"安卓开源]100种图片...

    Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业.zip

    Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。...

    Android APP开发从入门到精通(安辉)-第一章部分

    这是2018年12月刚出版的书籍,基于Android Studio 3.0开发.自己买来,纯手工扫描而成的,此资源只是书中的第一章部分,其他陆续会上传的.

    android studio开发app项目实战app端,采用原生android.zip

    android studio开发app项目实战app端,采用原生android.zipandroid studio开发app项目实战app端,采用原生android.zipandroid studio开发app项目实战app端,采用原生android.zipandroid studio开发app项目实战app端...

    基于Android Studio开发的笔记APP.rar

    【Android Studio开发笔记APP详解】 Android Studio是Google官方推荐的Android应用开发集成开发环境(IDE),它提供了丰富的功能,使得Android应用开发变得更加高效和便捷。本教程将基于Android Studio,详细解析一...

    Android APP开发框架

    "Android APP开发框架"是一个集合了多种功能组件的综合框架,它包括了网络请求、对话框(Dialog)、工具类、自定义View、侧滑效果、ViewPager与Fragment滑动等多种常见需求的实现。以下将详细解析这些关键知识点。 ...

    Android毕业论文开发记单词app(毕业设计).zip

    Android毕业论文开发记单词app(毕业设计),Android毕业设计记单词app(毕业设计)Android毕业论文开发记单词app(毕业设计),Android毕业设计记单词app(毕业设计)Android毕业论文开发记单词app(毕业设计),...

    基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码

    综上所述,这个基于Android Studio的旅游记录与分享APP涉及了众多Android开发的关键技术,包括地图集成、位置服务、数据存储、网络通信以及用户体验设计等多个方面,对于学习和提升Android开发能力具有很高的参考...

Global site tag (gtag.js) - Google Analytics