ANR异常
ANR异常
一、简介
解决方法:别在主线程中写非常耗时的操作
二、代码实例
点击之后,不停点击,乱点
出现anr异常
代码
/anr/src/anr/MainActivity.java
1 package anr; 2 3 4 5 6 7 import com.example.anr.R; 8 9 import android.app.Activity; 10 import android.content.Intent; 11 import android.os.Bundle; 12 import android.view.View; 13 import android.view.View.OnClickListener; 14 import android.widget.Button; 15 16 17 18 public class MainActivity extends Activity{ 19 private Button btn_openActivty;//创建一个button对象 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState);//父类操作 22 setContentView(R.layout.activity_main);//引入名为activity_main的界面 23 btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button 24 /* 25 * 在主线程(UI线程)执行耗时的操作; 26 * 界面无法响应输入事件了, 27 * 就会发生ANR异常(大于6秒的行为) 28 */ 29 btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听 30 31 @Override 32 public void onClick(View v) {//onclick事件 33 // TODO Auto-generated method stub 34 try { 35 Thread.sleep(6000); 36 } catch (Exception e) { 37 // TODO: handle exception 38 e.printStackTrace(); 39 } 40 Intent intent=new Intent();//初始化intent 41 intent.setClass(MainActivity.this,Activity01.class);//连接 42 startActivity(intent);//打开activity 43 } 44 }); 45 } 46 }
解决方法:别在主线程中写非常耗时的操作