ANR異常,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的button24 /*25 * 在主線程(UI線程)執行耗時的操作;26 * 介面無法響應輸入事件了,27 * 就會發生ANR異常(大於6秒的行為)28 */29 btn_openActivty.setOnClickListener(new OnClickListener() {//設定button點擊監聽30 31 @Override32 public void onClick(View v) {//onclick事件33 // TODO Auto-generated method stub34 try {35 Thread.sleep(6000);36 } catch (Exception e) {37 // TODO: handle exception38 e.printStackTrace();39 }40 Intent intent=new Intent();//初始化intent41 intent.setClass(MainActivity.this,Activity01.class);//串連42 startActivity(intent);//開啟activity43 }44 });45 }46 }
解決方案:別在主線程中寫非常耗時的操作