【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

解决办法:看日志

posted @ 2018-07-10 07:27  TXBB哭哭  阅读(137)  评论(0编辑  收藏  举报