人们讨厌应用程序崩溃,尤其是是程序减速或卡死几秒钟这样的现象 。根据Dimensional Research的一项调查,61%的用户希望程序在4秒内启动,而49%的用户希望在2秒内响应输入 。如果应用发生崩溃,冻结或报错等现象,53%的用户会将App卸载 。
文章插图
无论您的对象是消费者还是企业,崩溃问题会令他们彻底失望 。与一些移动开发人员进行了交谈,询问了他们遇到的最常见的崩溃问题有哪些,他们给出了常见的六种原因:
1.内存管理我所问道的每个人都会谈到内存管理,大多数APP都会开启许多线程占用系统的内存 。OpsClarity营销副总裁Sachin Agarwal表示,程序员在编写代码时好像在app中只有他们编写的应用一样,同时,他建议在编写程序时,要考虑使其称为为"应用生态系统中的好公民" 。
内存问题并非对所有开发人员是一样的 。Solstice Mobile业务开发副总裁Andrew Whiting说"在IOS中,您就可以利用Objective-C来处理大量内存问题," 。但是需要权衡利弊 。"在Android上,你需要更深入的控制[内存],你可以让它完全按你想要的那样做,但这会增加复杂性 。"
"在JAVA中遇到[运行]内存不足,我们发现通常它与加载大图像或处理位图等相关,"New Relic的高级软件工程经理Jonathan Karon表示 。在移动SDK技术性能报告中并编制了常见的问题原因 。"实际上有一些令人惊讶的数字看起来像Android上的链接器问题,无法找到类,或者有一个称为非分类链接的异常 。" 另一方面,iOS应用程序经常受到NSInternalInconsistency异常的影响,这是因为当开发人员在一个地方更改数组或数据集合时,而其他东西正在读取那里的事物列表 。
2.软件生命周期迭代的应用程序开发过程及其版本频繁的发布,为最小化可行产品进入市场打开了大门,然后随着时间的推移改进它,现在这种做法非常流行 。但由于对操作系统和第三方API的依赖性,使传统软件生命周期变的更为复杂 。
"如果你看看最新Android更新的系统,应用程序崩溃的会很多,"Agarwal说 。"操作系统本身不稳定或操作系统更新了,应用程序没有更新" 或者用户不下载新的版本,这些"你都无法控制,它说明了一个核心的开发过程 。"
移动和云计算的发展增加了第三方服务及其相关API的使用,从而节省了时间并有助于将应用程序更快地推向市场,但他们有自己的一系列问题 。
"许多库是都有共同的问题,"Whiting说 。"他们试图解决每个人的问题,而不是为任何人提供最佳解决方案 。" 例如,给定的API可能对特定应用程序具有性能限制 。
API也可能使用棘手的技术,比如iOS方法调整 。当原始代码(如Apple的API)不可用时,开发人员在原始代码(如Apple的API)基础之上进行修改 。"你可以称之为iOS应用程序开发的'黑暗艺术'之一,"在线旅行社Fareportal的移动主管Raman Bhatia说 。"[但]如果您的应用程序代码以某种方式编写,则可能导致崩溃 。"
API也可能引起其他问题 。"API延迟,错误率,数据带宽,API的版本以及API请求的数量都可能由小问题印发大问题,"Agarwal说 。然后是API本身,这就需要专门的工具来跟踪所有内容 。
API也可能导致其他问题,如内存错误 。"如果你创造了其他的对象前已经从内存中移除的一个对象,会认为通常这是没有问题的,但需要注意的是你不知道后续创建的对象到底需不需要引用已经删除的对象"联合创始人和开发者Long Le说道"尤其是当你引入第三方框架时,就会出现问题 。你永远无法确定他们正在清理什么以及他们正在创造什么 。"
3.测试不充分测试的需求是很明显的,但是需要获得足够的覆盖率,特别是对于大量的Android版本和设备,可能具有挑战性 。虽然有模拟器,但在服务器上运行的软件性能限制可能会与真机不同 。
例如,应用程序的一个线程读取数据库,同时第二个线程尝试修改这一个数据库,"这是一个时间问题," Couchbase移动首席架构师Wayne Carter说 。"如果他们没有在同一时刻发生碰撞,那么这个问题就不会出现,可以用日志描述来掩盖 。" 模拟器通常就不会和真机一样 。
在不同的设备上运行不同的系统是个可行的方案,但是这种方法比模拟器消费高 。这就需要在预算和需求之间权衡
测试应结合行业标准和用户期望的基准测试,以确保开发人员和用户可接受的内容 。测试也应该持续进行 。监控性能并查找用户反馈,然后尽快解决问题 。
推荐阅读
- 关于西洋参提取物的相关介绍
- 银翘解毒丸的说明书
- 风湿痛药酒使用说明以及患上风湿的原因
- 茶叶中的香槟 关于大吉岭红茶的介绍
- 大吉岭红茶的价格是多少 大吉岭红茶的售价
- 大吉岭红茶的价格 大吉岭红茶的售价如何
- 印度大吉岭红茶的产地特征及作用介绍
- 印度的大吉岭红茶
- 印度原产地的大吉岭红茶
- 大吉岭红茶属于什么茶,大吉岭红茶的功效与作用