ANR異常 一、簡介 解決方法:別在主線程中寫非常耗時的操作 二、代碼實例 點擊之後,不停點擊,亂點 出現anr異常 代碼 /anr/src/anr/MainActivity.java 解決方法:別在主線程中寫非常耗時的操作 ...
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 }
解決方法:別在主線程中寫非常耗時的操作