GT-APP崩溃的原因

为什么App会出现崩溃呢?百度了一下,查到和App崩溃相关的几个因素:内存管理错误,程序逻辑错误,设备兼容,网络因素等,如下:

  1. 内存管理错误​:内存溢出或者泄漏,可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash。或是内存泄露,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导致整个系统崩溃。亦或非授权的内存位置的使用也可能会导致App crash。
    2.程序逻辑错误:​数组越界、堆栈溢出、并发操作、逻辑错误。e.g. app新添加一个未经测试的新功能,调用了一个已释放的指针,运行的时候就会crash。
    3.​设备兼容:由于设备多样性,app在不同的设备上可能会有不同的表现。
    ​4.网络因素:可能是网速欠佳,无法达到app所需的快速响应时间,导致app crash。或者是不同网络的切换也可能会影响app的稳定性。渲染过慢,操作过快。

5.系统权限问题:
[直接原因]:客户端未对无权限情况处理,导致代码报错
[引起原因]:用户访问未获取到系统相关权限的功能,客户端又未对此情况进行处理
[解决办法]:修改崩溃bug,设计此情况的处理机制,如提示用户去手动开权限,或自动退出等情况。
[测试方法]:关掉app所有的系统权限,然后去访问所有系统权限相关的页面和功能。例如:相册,照
6.第三方问题:
[引起原因]:第三方广告的突然弹出/其他app分享进来和出去/各种第三方app的强行抢镜(如抢红包提醒)
[测试方法]:在各个页面,手动触发大多数app的 或 本app的外接 广告来测试。用其他主流app测试分享,或自家app分享出去再回来看是否已经被退出。突然收到其他app的强制提醒。

7.系统高优先级问题:
[直接原因]:导致自家app突然被挂起或放置后台
[引起原因]:突然来电话,突然收短信,闹钟,会议提醒系统原生app等情况
[测试方法]:在各个页面,功能运行前中后。进行接电话/短信来测试。主要测试是否会影响电话/短信,电话/短信结束后 app是否能恢复到之前的页面,还是已经闪退被强关了。

8.横竖屏打开app或者使用中横竖屏。
9.多语言问题,未打开或者已打开app后切换语言。

[直接原因]:客户端app代码报错。
[引起原因]:需要操作的元素已经消失/代码错误,超出实体数量/读取or写入本地文件或缓存时的IO错误
[解决办法]:调查引起崩溃的具体操作步骤,然后提交开发解决,前端代码容错率需要提高。
[测试方法]:边界值测试为核心思想,测试正常情况有关数量的功能用例

要进行代码review
1:保证代码没有错误,循环中没有超出实体数量。2:保证代码容错性高,每个循环都要有越界异常捕获并处理。
要进行手动破坏性测试:
1:如删除本地文件,比如app要调取本地缓存的4张图片,在app刚要调用的时候,已经选择好的时候,切换到本地文件管理中,删掉其中一个,那么app就会访问到一个不存在的文件,会引发越界等代码报错。
2:破坏掉这个文件。那么app就会读取的时候发生io错误。等情况来进行测试。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦朝胖子得加钱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值