ANR: Application Not Responding
产生原因:
1.主线程(UI线程)响应用户操作事件时间超过5秒
2.BroadcastReceiver超过10秒钟任未执行完毕。
3.这种情况比较少见,Service的各个生命周期函数在特定时间(20秒)内无法完成处理。
避免方法:
Android应用程序完全运行在一个独立的线程中。任何在主线程中运行的,需要消耗大量时间的操作都会引发ANR。因此,需要消耗大量时间的操作如访问网络和数据库,都要放到子线程中或者使用异步方式来完成。
Force Close.
产生原因:
程序出现异常,一般像空指针、数组越界、类型转换异常等。
避免方法:
编写程序时要思维缜密,异常出现时可以通过logcat查看抛出异常代码出现的位置,然后到程序中进行修改。
本文探讨了Android应用中常见的ANR(应用无响应)及ForceClose(强制关闭)问题,详细分析了这两种现象产生的原因,并给出了有效的预防措施。
492

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



