ANR异常

时间:2023-03-09 16:20:04
ANR异常

ANR异常

一、简介

ANR异常

解决方法:别在主线程中写非常耗时的操作

二、代码实例

ANR异常

点击之后,不停点击,乱点

ANR异常

出现anr异常

代码

/anr/src/anr/MainActivity.java

 package anr;

 import com.example.anr.R;

 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity{
private Button btn_openActivty;//创建一个button对象
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//父类操作
setContentView(R.layout.activity_main);//引入名为activity_main的界面
btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button
/*
25 * 在主线程(UI线程)执行耗时的操作;
26 * 界面无法响应输入事件了,
27 * 就会发生ANR异常(大于6秒的行为)
*/
btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听 @Override
public void onClick(View v) {//onclick事件
// TODO Auto-generated method stub
34 try {
35 Thread.sleep(6000);
36 } catch (Exception e) {
37 // TODO: handle exception
38 e.printStackTrace();
39 }
Intent intent=new Intent();//初始化intent
intent.setClass(MainActivity.this,Activity01.class);//连接
startActivity(intent);//打开activity
}
});
}
}

解决方法:别在主线程中写非常耗时的操作