一、app出现ANR(无响应),是什么原因导致的?
那么导致ANR的根本原因是什么呢?简单的总结有以下两点:
1.主线程执行了耗时操作,比如数据库操作或网络编程
2.其他进程(就是其他程序)占用CPU导致本进程得不到CPU时间,比如其他进程的频繁读写操作可能会导致这个问题。
细分的话,导致ANR的原因有如下几点:
1.耗时的网络访问
2.大量的数据读写
3.数据库操作
4.硬件操作(比如camera)
5.调用thread的join()方法、sleep()方法、wait()方法或者等待线程锁的时候
6.service binder的数量达到上限
7.system server中发生WatchDog ANR
8.service忙导致超时无响应
9.其他线程持有锁,导致主线程等待超时
10.其它线程终止或崩溃导致主线程一直等待。
二、App出现crash(崩溃)原因有哪些?
为什么App会出现崩溃呢?百度了一下,查到和App崩溃相关的几个因素:内存管理错误,程序逻辑错误,设备兼容,网络因素等,如下:
1.内存管理错误:可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash。
或是内存泄露,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导致整个系统崩溃。
亦或非授权的内存位置的使用也可能会导致App crash。
2.程序逻辑错误:数组越界、堆栈溢出、并发操作、逻辑错误。
e.g. app新添加一个未经测试的新功能,调用了一个已释放的指针,运行的时候就会crash。
3.设备兼容:由于设备多样性,app在不同的设备上可能会有不同的表现。
4.网络因素:可能是网速欠佳,无法达到app所需的快速响应时间,导致app crash。或者是不同网络的切换也可能会影响app的稳定性。
三、app测试中的数据库数据和app上的不一致?
原因:app上勋在缓存和原有进程导致
在后台数据据中,新增数据进行测试,打开app端查看对应的数据,不存在最新的数据,没有更新;测试需要杀死进程、清理缓存,在进行app启动;
四、错误现象:登录状态下仅支持单点登录,会弹出提示:该账号在B手机已登录,A手机强制退出登录;实际要实现:登陆时不受单点登陆的限制或者指定登录设备次数3,5台
原因:未按产品需求说明书中的功能实现,如按照产品需求说明书,白名单内的用户进行登陆时不受单点登陆的限制,也就是说同一个账号可以同时在A手机和B手机登录,但是开发实现错误,白名单内的用户在A手机登录后,在B手机登录,然后点击A手机上APP的功能,会弹出提示:该账号在B手机已登录,A手机强制退出登录。
解决:找开发,增加多点登录功能权限,设置登录设备台数;
五、app闪退有哪些原因?闪退的原因分为种:一、软件本身有问题;二、系统出现问题。
1、软件问题(1)app 不兼容系统当前系统版本(2)app有了新版本,没有跟新(软件对手机分辨率有一定的要求)
(3)软件有bug(4)下载和更新不是官网下载的,是第三方软件下载的(5)网络差(软件对网速的要求比较高,如果用户使用 2 G/3 G 网络)(6)分辨率不兼容(软件对手机分辨率有一定的要求) (7)手机被植入病毒
2、系统出现问题(1)手机内存不足,比如:打开很多app,导致后台反应出现问题(2)软件授权出现问题
(3)设备已经越狱,导致系统不稳定,闪退成了常事)4)手机 缓存垃圾太多(5)安装路径位置错误(比如:安装外置存储卡)(6)手机配置问题 (比如手机配置低)
解决办法:
1、卸载重新下载新版本,(安装并设置手机储存空间为安装路径即可)
2、及时更新新的版本
3、拒绝从第三方下载(卸载非官方下载的软件)
4、重启应用
5、检查应用兼容性
6、检查应用权限(授予必要的权限即可。 )
7、卸载重装应用
8、清理手机存储空间
9、 恢复出厂设置
10、检查网络(切换好的网络环境)
六、app白屏现象有哪些原因引起?
1、手机使用过长
2、手机本身质量问题
3、手机运行内存小,或不足
4、软件和设备不兼容
5、运行过多软件
6、手机版本问题
标签:__,sir,导致,登录,app,内存,手机,软件 From: https://www.cnblogs.com/xiaolehong/p/16905542.html