標籤:這一 bundle alt class dex ext state view instance
1.JAVA中線程的基本概念:
線程的兩種實現方式:
(1)繼承Thread這個類(對象代表的是一個線程)
(2)實現Runnable介面(對象代表的是一個線程體)
線程的生命週期:
建立;
產生線程對象;
Start方法,就緒;
搶佔CPU運行;
被其他線程搶佔CPU或者阻塞,重新就緒;
執行完畢;
死亡狀態,死亡後不可能複活;
Android中:子線程原則上不允許修改UI組件,只有主線程可以修改UI組件
2.介面設定以及組件引入:
private Button button; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)findViewById(R.id.textView); button=(Button)findViewById(R.id.button); button.setOnClickListener(new ButtonListener()); }
3.子線程的建立與修改View:
class ButtonListener implements View.OnClickListener{ @Override public void onClick(View view) { myThread t=new myThread(); //主線程中產生子線程 t.start(); } } class myThread extends Thread{ @Override public void run() { //super.run(); try { currentThread().sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } textView.setText("這一個是來自子線程的修改"); } }
4.主線程中修改View:
2017.12.18 Android開發之進程講解