第一篇 理解线程

来源:互联网 发布:全宋词软件下载 编辑:程序博客网 时间:2024/05/17 19:19

MainActivity.java      

package com.jkxy.androidactivity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //一、线程阻塞                //主线程也就是UI线程,就是跟群众面对面交流的地方,所以,如果有线程阻碍,或者耗时的动作的话,就会影响用户的体验                //执行下面的代码,点击按钮,会明显感觉到按钮的卡顿现象。//                解决方法就是,启动多线程,那怎样启动多线程呢,可以这样 new Thread(){//                    @Override//                    public void run() {//                        super.run();//                    }//                }.start();在新线程中执行耗时操作。//                try {                //                    Thread.sleep(6000);                //                    System.out.println(">>>>>>>>>Tick");                //                } catch (InterruptedException e) {                //                    e.printStackTrace();                //                }                new Thread(){                    @Override                    public void run() {                        super.run();                        while (true){                            try {                                Thread.sleep(3000);                                System.out.println(">>>>>>>>>Tick");                            } catch (InterruptedException e) {                                e.printStackTrace();                            }                        }                    }                }.start();                //二、可以看到,当点击按钮的时候,按钮会马上弹起来,后台线程在一直执行。没有卡顿现象了。            }        });    }}
布局文件如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.jkxy.androidactivity.MainActivity"    android:weightSum="1">    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="New Button"        android:id="@+id/button"        android:layout_weight="0.59"/></LinearLayout>


0 0
原创粉丝点击