微信扫一扫打赏支持

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 }

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

posted @ 2017-07-30 19:53  范仁义  阅读(689)  评论(0编辑  收藏  举报