您的位置:首页 > 其它

第一篇 理解线程

2016-03-11 21:50 351 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: