麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

Android定時器實現的幾種方式整理及removeCallbacks失效問題解決

2020-04-11 12:15:59
字體:
來源:轉載
供稿:網友
實現定時器有很多種方式,在這里我簡單的介紹幾種方式
(1)使用Handler + Runnable的方式
復制代碼 代碼如下:

Handler handler = new Handler();
Runnable runnable = new Runnable() {

@Override
public void run() {
//你要做的事
//......
System.out.println(Thread.currentThread().getName());
handler.postDelayed(runnable, 1000);
}
};

然后調用handler.post(runnable);就能啟動定時器,這里是每隔1s打印線程名字,從打印中我們可以知道,他并沒有另開線程,而是運行在UI線程當中,當你要取消定時器的時候,只需要調用handler.removeCallbacks(runnable)就可以了。
上面中有一個問題,有時候你會發現removeCallbacks有時候會失效,不能從消息隊列中移除,看下面的demo

圖:兩個按鈕,一個將Runnable加到消息隊列中,一個將Runnable從消息隊列中移除。該Runnable每1秒鐘打印一次日志。
復制代碼 代碼如下:

<SPAN style="FONT-FAMILY: Courier New">package com.example.demoactivity;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TimerActivity extends Activity{
Handler handler = new Handler();
Runnable runnable = new Runnable() {

@Override
public void run() {
System.out.println("update...");
handler.postDelayed(runnable, 1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timer);

Button mButtonStart = (Button) findViewById(R.id.button1);
Button mButtonStop = (Button) findViewById(R.id.button2);

mButtonStart.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
handler.post(runnable);
}
});

mButtonStop.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
handler.removeCallbacks(runnable);
}
});
}

}</SPAN><SPAN style="FONT-FAMILY: Georgia, 'Times new roman', Times, san-serif">
</SPAN>

結果:
(1)start 主站蜘蛛池模板: 一区二区三区视频在线观看 | 中文欧美日韩 | 国产精品一区99 | 亚洲人成中文字幕在线观看 | 狠狠操精品视频 | 黄色成人av在线 | 日本高清视频网站www | 羞羞视频2023| 国产精品视频自拍 | 成年人在线视频 | 日本在线视 | 午夜视频久久 | 色综合视频网 | 精品亚洲一区二区三区 | 特片网久久 | 精品在线一区二区三区 | 国产精品99久久久久久大便 | av色先锋| 久久探花 | 天使萌一区二区三区免费观看 | 91精品国产综合久久男男 | 欧美一级做性受免费大片免费 | 精品中文字幕在线观看 | 91麻豆精品国产91久久久点播时间 | 免费观看一级欧美大 | 欧美成人免费tv在线播放 | av免费在线观看国产 | 日本成人二区 | 亚洲国产成人久久一区www妖精 | 在线 日本 制服 中文 欧美 | 777zyz色资源站在线观看 | 一分钟免费观看完整版电影 | 女人一级一级毛片 | 久久福利小视频 | 色骚综合 | 高清一区二区在线观看 | 狠狠干五月 | 亚洲精品在线观看网站 | 久草在线视频首页 | 欧美一级高潮片免费的 | 中文字幕亚洲视频 |