一、什么是ANR,如何避免它?
答:ANR:Application Not Responding
当对输入事件(如按键、触摸屏事件)的响应超过5秒、意图接收者(intentReceiver)超过10秒钟仍未执行完毕时都会报ANR。
Android应用程序完全运行在一个独立的线程中。任何在主线程中运行的,需要消耗大量时间的操作都会引发ANR。因此,需要消耗大量时间的操作如访问网络和数据库,都要放到子线程中或者使用异步请求。
二、什么情况会导致Force Close?如何避免?能否捕获导致其发生的异常?
答:一般像空指针、数组越界、类型转换异常等。可以通过logcat查看抛出异常的代码出现的位置,然后到程序对应代码中进行修改。