新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 程序开发 > 移动端 > APP

App崩溃的6个常见原因!

时间:2019-05-16 13:58:31  来源:  作者:

人们讨厌应用程序崩溃,尤其是是程序减速或卡死几秒钟这样的现象。 根据Dimensional Research的一项调查,61%的用户希望程序在4秒内启动,而49%的用户希望在2秒内响应输入。 如果应用发生崩溃,冻结或报错等现象,53%的用户会将App卸载。

我们分析了100个移动应用程序,发现了App崩溃的6个常见原因!

无论您的对象是消费者还是企业,崩溃问题会令他们彻底失望。与一些移动开发人员进行了交谈,询问了他们遇到的最常见的崩溃问题有哪些, 他们给出了常见的六种原因:

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说。"如果他们没有在同一时刻发生碰撞,那么这个问题就不会出现,可以用日志描述来掩盖。" 模拟器通常就不会和真机一样。

在不同的设备上运行不同的系统是个可行的方案,但是这种方法比模拟器消费高。这就需要在预算和需求之间权衡

测试应结合行业标准和用户期望的基准测试,以确保开发人员和用户可接受的内容。测试也应该持续进行。监控性能并查找用户反馈,然后尽快解决问题。

4.网络管理

随着应用程序越来越依赖网络,无论是数据还是第三方服务,网络管理已成为一个麻烦的源头。

发生崩溃的最主要原因是当你正要获取数据、提交了一些东西等待恢复而APP发生响应或者挂起。运营副总裁Pravin Vazirani说道,可能开发人员使Wi-Fi连接功能非常完善,但用户在不好的网络区域时就会发生问题

处理网络问题的一个好方法是告知用户连接中断,并在可能的情况下提供执行可能感兴趣的其他操作的机会。如果人们了解超出应用程序控制范围的临时状况的原因,他们更有可能保持冷静,不会对软件感到恼火。

5.错误状况和异常处理

由于移动开发的复杂性,一些错误是不可避免的,无论是意外的API更改,避免先前检测的内存问题,还是网络连接状况,甚至只是在传输大型文件(如图像或视频)时降低数据传输的速度

在这种情况下,最好的方法是给与良好的错误和异常处理方式。比如用户输入错误的数据、本应提供数值的内容而提供文字到文本框内等,这样,应用程序就不会被意外尝试而报错。

在任何这些情况下,正确编码的应用程序都会注意到意外情况,并且在通知用户错误的同时,可以优雅地终止进程或活动。如果你能保持沟通渠道畅通,就会有更好的机会留住用户。

6.代码太多了

最好的建议是保持应用程序简单。找到特定用途的插件,使用插件并编写必要的代码。企业移动开发公司Lextech Global Services的高级系统工程师Felipe Laso-Marsetti说:"最好和最无错误的代码是不是你自己编写的代码。"

你能否真正的创建一个无错误的应用程序,特别是在第一轮?可能不是。但是,您可以关注这些故障源,并尽最大努力创建强大的异常处理机制。
 



Tags:App   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
当今,全球移动用户大约超过37亿,随着移动 App 的广泛应用,必然不断有新的安全威胁产生。而App的安全性,对用户来说是非常重要的,今天快快小编给大家介绍7款优秀的App安全测试工具...【详细内容】
2020-03-19   App  点击:(4)  评论:(0)  加入收藏
近年来抖音、快手、火山小视频等短视频类APP兴起商业营销活动亦随之出现越来越多的消费者选择在短视频类平台购物金华市消保委发布了短视频类APP消费调查报告 张先生在刷视...【详细内容】
2020-03-16   App  点击:(8)  评论:(0)  加入收藏
所需工具+环境准备说明基于win10 64位系统 JDK 1.8(64位) Android SDK Appium desktop 夜神模拟器 Step1:安装配置JDK 下载JDK 浏览器访问下面的地址(我们选择jdk1.8进行下载)ht...【详细内容】
2020-03-15   App  点击:(3)  评论:(0)  加入收藏
如果您觉得找外包公司价格高,不好控制需求,那咱们再看如果您自己组建团队,一个APP需要哪些人员进行开发??A、APP开发-产品经理,负责分析需求,提需求,整理需求文档,提出低保真设计原型...【详细内容】
2020-03-14   App  点击:(16)  评论:(0)  加入收藏
疫情影响了部分企业和个人的收入,企业为现金流担忧,个人为房贷、车贷、信用卡、花呗还款发愁。骗子们也紧盯着疫情的发展,不浪费任何一次危机所带来的“机遇”。近期360手机卫...【详细内容】
2020-03-12   App  点击:(9)  评论:(0)  加入收藏
APP的升级发布看似简单,但是其实很复杂,有许多边界情况需要考虑,例如前端的更新逻辑、前端交互方式、后台逻辑与流程等。最近开始协同负责一个新产品,第一次从0到1着手一个产品...【详细内容】
2020-03-11   App  点击:(7)  评论:(0)  加入收藏
0技术0经验如何开发一款手机app软件?app从一个想法如何变成一个产品,需要哪些流程步骤? app开发的方式比较多,开发的技术选择也很多,不同的人可以会有不同的方法,这里回忆一下我...【详细内容】
2020-03-09   App  点击:(6)  评论:(0)  加入收藏
这里给大家介绍的方法是使用第三方将网站封装为webApp。该种方式的优点为:操作简单,支持内置QQ浏览器;可封装成多种平台应用;占用权限少;体积小。缺点是:部分功能受第三方局限。具...【详细内容】
2020-02-25   App  点击:(27)  评论:(0)  加入收藏
小遍每期都会为大家送上Mac精品软件,感谢大家一直以来的支持与鼓励!今天Macdown小编给大家推荐用了之后让你感觉相见恨晚的八款苹果电脑神器APP,不仅好用,还可以让你的macbook...【详细内容】
2020-02-17   App  点击:(5)  评论:(0)  加入收藏
现在各大app套路百出,以前可以用邮箱来注册,现在只能用手机号注册,而且还得接收验证码。不像国外那些网站,一个邮箱就可以注册一大堆app和网站。有些app注册的太久连自己都忘记...【详细内容】
2020-01-29   App  点击:(81)  评论:(0)  加入收藏
如今公司运营的方式多种多样吗,已经不局限于传统媒体还有网络媒体,APP属于网路媒体运营手段之一,企业或公司想要成功运营一款APP,办理资质不能少,那么运营新的APP办理哪些资质呢?...【详细内容】
2020-01-17   App  点击:(41)  评论:(0)  加入收藏
呕心力作,Mac 专有软件终于来了BearBear 是一个漂亮,灵活的Markdown 的写作工具。它一样只支持苹果家的全平台。它一出现就惊艳四方,就被App Store 被推荐,也显示出它的好用。对...【详细内容】
2020-01-10   App  点击:(119)  评论:(0)  加入收藏
应用商店作为App推广最重要的分发渠道,自然是大部分推广人员首先铺满和优化的重点,这么做自然是正确的,但应用商店竞争激烈,难以快速见效,在ASO外,我们还应该找到更多渠道带量,具体...【详细内容】
2020-01-09   App  点击:(21)  评论:(0)  加入收藏
2019年是AppStore和GooglePlay问世11周年,前者是苹果设备的应用程序商店,后者是Android设备的应用程序商店。在体量上,GooglePlay共有380万个app;而苹果AppStore,也有超过200万个...【详细内容】
2020-01-07   App  点击:(13)  评论:(0)  加入收藏
对于使用ios企业签名就可以实现app在ios系统中进行使用,大家在享受ios开发者服务平台进行签名带来的便利之时,一定也想了解ios签名APP的机制是怎样的,它有哪些操作?今天主要就...【详细内容】
2020-01-07   App  点击:(25)  评论:(0)  加入收藏
新京报快讯(记者 姜慧梓)2020年1月1日,网上税务局(包括手机个人所得税APP)上线个人综合所得收入纳税明细查询功能,纳税人可登录查看年度收入纳税情况,为2020年3月启动的2019年度个...【详细内容】
2020-01-02   App  点击:(31)  评论:(0)  加入收藏
监管部门频繁发声个人金融信息安全问题——金融类APP信息“超采”将迎强监管...【详细内容】
2019-12-31   App  点击:(31)  评论:(0)  加入收藏
11月30日,国家互联网信息办公室秘书局、工业和信息化部办公厅、公安部办公厅、国家市场监督管理总局办公厅,发布关于印发《App违法违规收集使用个人信息行为认定方法》的通知。...【详细内容】
2019-12-30   App  点击:(29)  评论:(0)  加入收藏
IOS端的APP渗透测试在整个互联网上相关的安全文章较少,前几天有位客户的APP数据被篡改,导致用户被随意提现,任意的提币,转币给平台的运营造成了很大的经济损失,通过朋友介绍找到...【详细内容】
2019-12-26   App  点击:(33)  评论:(0)  加入收藏
很多人都有疑问,运营手机APP到底是需要ICP许可证还是SP许可证呢?如何判断呢?如果是SP证的话,上海SP许可证是如何办理的呢?道商小编整理“ SP许可证办理”的相关信息,分享给大家参...【详细内容】
2019-12-24   App  点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条