【Android】ANR+OOM+FC
ANR(Activity Not Response)
备注:Main线程(也称UI线程、主线程)
功能:1、创建UI控件2、更新UI控件3、事件处理
限制:Main线程不建议有超过5秒的事件
出现条件:当用户输入事件5秒内没有得到响应,应该弹出ANR对话框;广播接受者的onReceive()执行事件超过10秒
解决方案(原则):所有可能耗时的操作都要在子线程()中执行
常见耗时操作:I/O:网络操作 SDcard 数据运算
OOM(Out Of Memory)内存溢出
出现条件:
开发不规范:开发流程不规范、开发代码不规范、开发算法不规范、开发模型不规范、开发架构不规范
代码非最优:开发阶段就得到保证,若有遗漏测试也应该得到保证,例如自动化检查代码控件与实践复杂度,开发代码review,性能实时监控。
内存泄露
MAT分析工具: http://www.eclipse.org/mat/downloads.php
FC(Force Close)强制关闭
出现条件:屏幕分辨率;网络切换、过慢导致响应速度不够;语言切换;用户过多;OOM;StackOverFlowError;RuntimeException
解决办法:看日志