第一篇 理解线程
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>
相关文章推荐
- SeDuMi 安装与测试
- 3月11日 判断输入的年月日是否正确
- 1684
- 设计模式之模板方法模式
- UESTC 250 windy数
- andriod 动态加载xml布局 莫名奇妙丢失xml根布局属性?
- 实时配置桌面上的AppWidget UI Layout(RemoteViews.addViews)(待修正)
- Java写的秒表
- LeetCode-Best Time to Buy and Sell Stock I&&II
- 更新编辑框中的内容
- ListView的优化问题以及策略
- 简单模拟STL库中string的实现
- CetnOS6,最小化安装后安装网络管理工具
- Cannot run program “git.exe”: createprocess error=2,系统找不到指定的文件
- session与cookie的区别
- tiny_cnn代码详解(3)——层间继承关系
- Java向文件中写数据
- 蓝牙实战(二)
- Mac下MySQL卸载方法
- Unity的坑