Android两种常见错误(ANR和FC)解决办法
来源:互联网 发布:tomcat 域名绑定 编辑:程序博客网 时间:2024/05/21 10:18
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
解决办法:
看日志
子线程不能更新UI的解决思路:
1、 将子线程执行结果发送到Main线程:handler+massage线程间通讯
发送消息:
Message msg = mHandler.obtainMessage(UPLOAD, json);
mHandler.sendMessage(msg);
接收消息:
public void handleMessage(Message msg) {
switch (msg.what) {
case UPLOAD:
mTextView2.setText((String) msg.obj);
break;
case DOWNLOAD:
mTextView.setText((String) msg.obj);
break;
default:
break;
}
}
2、 使更新ui代码段在Main线程执行:
1.runOnUiThread
2.view.post view.postDelay()
3.handler.post handler.postDelay()
- Android两种常见错误(ANR和FC)解决办法
- Android两种常见错误(ANR和FC)
- Android两种常见错误-ANR和FC(Force close)
- 【Android】ANR和FC
- ANR和FC
- android ANR产生原因(三总常见类型)和解决办法
- android ANR产生原因(三总常见类型)和解决办法
- android ANR产生原因(三总常见类型)和解决办法
- Android-AsyncTask及UncaughtExceptionHandler捕获全局性异常(ANR、FC)
- Android ANR 与FC 异常总结
- android ANR产生原因和解决办法
- android ANR产生原因和解决办法
- android ANR产生原因和解决办法
- android ANR产生原因和解决办法
- Android ANR产生原因和解决办法
- android ANR产生原因和解决办法 (
- android ANR产生原因和解决办法
- Android ANR产生原因和解决办法
- VC实现SMC加密技术
- pppoe抓包流程和拨号流程
- [Unity3D]如何渲染一个在camera frustum外面的物体
- DCT算法可以说是有损压缩的第一步,多用在视频压缩方面。
- Groovy入门教程
- Android两种常见错误(ANR和FC)解决办法
- C++文件读写详解(ofstream,ifstream,fstream)
- leetcode - Container With Most Water
- JAVA连接oracle数据库代码
- Jump Game - LeetCode 55
- MATLAB中Legend的一些控制方法
- 插入排序
- XCode 之快捷键
- 垃圾收集器和内存分配策略