ANR(Activity Not Respone)(无响应)
先介绍下Main线程(也称为UI线程、主线程)
功能: 1.创建UI控件
2.更新UI控件状态
3.事件处理
限制:Main线程不建议有超过5秒的事件
出现条件:
当用户输入事件5s内没有得到响应,将弹出ANR对话框
广播接收者的onReceive()执行时间超过10s
解决方案(原则):
所有可能的耗时操作都要在子线程()中执行
常见耗时操作:
I/O:网络操作
SDcard
数据运算
FC(Force close)
原因:
1.Error
OOM(out of memory error)
StackOverFlowError
2.RuntimeException
先介绍下Main线程(也称为UI线程、主线程)
功能: 1.创建UI控件
2.更新UI控件状态
3.事件处理
限制:Main线程不建议有超过5秒的事件
出现条件:
当用户输入事件5s内没有得到响应,将弹出ANR对话框
广播接收者的onReceive()执行时间超过10s
解决方案(原则):
所有可能的耗时操作都要在子线程()中执行
常见耗时操作:
I/O:网络操作
SDcard
数据运算
本文深入解析Android应用中常见的ANR(Activity Not Responding)和FC(Force Close)现象,详细阐述了导致这些错误的原因、出现条件以及相应的解决原则和方法。着重强调了在Main线程中避免长时间执行耗时操作的重要性,并提供了针对不同场景的优化建议,旨在提升应用的用户体验和稳定性。
1241

被折叠的 条评论
为什么被折叠?



