国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Android】之【延時(shí)執(zhí)行的幾種方法】

這篇具有很好參考價(jià)值的文章主要介紹了【Android】之【延時(shí)執(zhí)行的幾種方法】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在Android日常開發(fā)中我們經(jīng)常會(huì)有延時(shí)執(zhí)行某個(gè)操作的需求,例如我們啟動(dòng)應(yīng)用的時(shí)候,開始呈現(xiàn)一個(gè)引導(dǎo)頁面,過了兩三秒后,自動(dòng)跳轉(zhuǎn)到主界面;又如為了控制時(shí)序,需要延時(shí)執(zhí)行等等。

下面整理下實(shí)現(xiàn)延時(shí)執(zhí)行操作的幾種方法:

① 使用Handler的postDelayed方法實(shí)現(xiàn)延時(shí)操作

推薦使用這種方式

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
       /**
        *要執(zhí)行的操作
        */
    }
}, 3000);//3秒后執(zhí)行Runnable中的run方法
new Handler().postDelayed(new Runnable() {
public void run() {
	//要執(zhí)行的任務(wù)
}}, 3000);
 final int MSG_WHAT = 1;
 Handler handler = new Handler() {
     @Override
     public void handleMessage(Message message) {
         switch(message.what) {
             case MSG_WHAT:
                 // 更新UI
                 break;
         }
     }
 };
 // 延時(shí)3s執(zhí)行MSG_WHAT
 handler.sendEmptyMessageDelayed(MSG_WHAT, 3000);

② 使用線程的休眠實(shí)現(xiàn)延時(shí)操作

new Thread() {
    @Override
    public void run() {
        super.run();
        Thread.sleep(3000);//休眠3秒
        /**
         * 要執(zhí)行的操作
         */
    }
}.start();

③ 使用Timer定時(shí)器

 TimerTask task = new TimerTask() {
   @Override
     public void run() {
       // 要執(zhí)行的操作
     }
 };
 Timer timer = new Timer();
 timer.schedule(task, 3000); // 延時(shí)3s 執(zhí)行TimeTask的run方法
 
 timer.schedule(task,3000,5000);//3秒后每隔5秒執(zhí)行一次
 timer.cancel();//銷毀

④ AlarmManager.setRepeating()

適合需要一直在后臺(tái)運(yùn)行的定時(shí)任務(wù),比如每隔5分鐘就做一件事。文章來源地址http://www.zghlxwxcb.cn/news/detail-509193.html


/**
 * 一個(gè)定時(shí)任務(wù)
 */
public class AlarmService extends Service {
    private static final int INTERVAL = 1 * 60 * 60 * 1000;//1小時(shí)
    private static final int PENDING_REQUEST = 0;

    /**
     * 調(diào)用Service都會(huì)執(zhí)行到該方法
     */
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        //通過AlarmManager定時(shí)啟動(dòng)廣播
        AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        long triggerAtTime = SystemClock.elapsedRealtime() + INTERVAL;//從開機(jī)到現(xiàn)在的毫秒(手機(jī)睡眠(sleep)的時(shí)間也包括在內(nèi)

        Intent i = new Intent(this, AlarmReceive.class);
        PendingIntent pIntent = PendingIntent.getBroadcast(this, PENDING_REQUEST, i, PENDING_REQUEST);
        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pIntent);

        return super.onStartCommand(intent, flags, startId);
    }

}
public class AlarmReceive extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, AlarmService.class);
        context.startService(i);
    }
}

到了這里,關(guān)于【Android】之【延時(shí)執(zhí)行的幾種方法】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot 啟動(dòng)項(xiàng)目后執(zhí)行方法的幾種方式

    在項(xiàng)目開發(fā)中某些場(chǎng)景必須要用到啟動(dòng)項(xiàng)目后立即執(zhí)行方式的功能,如我們需要去初始化數(shù)據(jù)到 redis 緩存、設(shè)置策略工廠,或者啟動(dòng)后讀取相應(yīng)的配置等,主要聊聊實(shí)現(xiàn)立即執(zhí)行的幾種方法。 這兩者的實(shí)現(xiàn)方法一樣,都是去繼承相應(yīng)的接口然后重寫 run 方法即可,也都是 S

    2024年02月11日
    瀏覽(19)
  • Android常用的延遲執(zhí)行任務(wù)及輪詢定時(shí)任務(wù)的幾種方式

    Executor 的 execute 方法:向線程池中提交任務(wù)(異步執(zhí)行) Executor 接口是 Java 并發(fā)編程中的一個(gè)接口,它定義了一種執(zhí)行任務(wù)的通用機(jī)制。Executor 接口有一個(gè)重要的方法 execute,它的作用是提交一個(gè)任務(wù)(Runnable 或 Callable)給 Executor 進(jìn)行執(zhí)行。 execute 方法的作用如下: 提交任務(wù):

    2024年04月25日
    瀏覽(15)
  • 在Linux系統(tǒng)中執(zhí)行.sh文件的幾種方法

    cd到.sh文件所在的目錄,然后執(zhí)行./xxx.sh 【前提:該./sh文件要有可執(zhí)行的權(quán)限,chmod u+x xxx.sh】 在.sh文件路徑下直接使用sh加.sh文件名即可 【是否有可執(zhí)行權(quán)限都可以】 注意事項(xiàng):**用“./”加文件名.sh執(zhí)行時(shí),必須給.sh文件加x執(zhí)行權(quán)限 ./home/test/shell/hello.sh,可以這樣運(yùn)行是

    2024年02月12日
    瀏覽(18)
  • Python: 導(dǎo)入或執(zhí)行python源文件的幾種方法

    目錄 概要 方法1:import 方法2:exec() 方法3:os.system() ????????本文介紹python中導(dǎo)入或執(zhí)行python源文件(通常是從另一個(gè)python源文件中)的幾種常用方法。包括import, exec(), os.system()等。 ????????第一種方式是使用import。 ????????比如說有一個(gè)文件hello_world.py,內(nèi)容如

    2024年02月15日
    瀏覽(28)
  • Android設(shè)置控件陰影的幾種方法

    Android設(shè)置控件陰影的幾種方法

    第一種方式: elevation View的大小位置都是通過x,y確定的,而現(xiàn)在有了z軸的概念,而這個(gè)z值就是View的高度(elevation),而高度決定了陰影(shadow)的大小。 View Elevation(視圖高度) View的z值由兩部分組成,elevation和translationZ(它們都是Android L新引入的屬性)。 eleavation是靜態(tài)

    2024年02月14日
    瀏覽(18)
  • Windows Bat實(shí)現(xiàn)延時(shí)功能的幾種常見方式

    Windows Bat實(shí)現(xiàn)延時(shí)功能的幾種常見方式

    在 bat 批處理中實(shí)現(xiàn)延時(shí)功能的幾種常用方式 使用ping命令可以實(shí)現(xiàn)延時(shí)的效果,命令如下: -n 指定 ping 的次數(shù),每次大概間隔1s, nul 將 ping 過程回顯信息給屏蔽 ping 命令實(shí)現(xiàn)的延時(shí),時(shí)間精度:大約1s,內(nèi)存占用: ping 命令所占用空間 注意閉坑:ping 從第1次發(fā)出請(qǐng)求到接收

    2024年02月11日
    瀏覽(16)
  • 如何使Android按鈕控件位于底部的幾種方法

    如何使Android按鈕控件位于底部的幾種方法 在Android應(yīng)用程序開發(fā)中,經(jīng)常會(huì)遇到需要將按鈕控件放置在屏幕底部的情況。這樣可以提升用戶體驗(yàn),并且使界面更加直觀。本文將介紹幾種實(shí)現(xiàn)這一目標(biāo)的方法,并提供相應(yīng)的源代碼。 方法一:使用RelativeLayout布局 RelativeLayout布局

    2024年01月16日
    瀏覽(19)
  • Python打開Windows可執(zhí)行性程序的幾種方法(Windows窗口自動(dòng)化第一步)

    方法一:用Pywinauto第三包 方法二:使用os.system函數(shù)運(yùn)行其他程序 方法三:win32api第三包使用ShellExecute函數(shù)運(yùn)行其他程序 方法四:使用win32process.CreateProcess函數(shù) 方法七:用ctpyes模塊調(diào)用C函數(shù)

    2024年02月16日
    瀏覽(24)
  • 前端開發(fā)中,定位bug的幾種常用方法

    前端開發(fā)中,定位bug的幾種常用方法

    目錄 第一章 前言 第二章 解決bug的方法 2.1 百度 2.2 有道翻譯 2.3?debugger 2.4 console.log 日志打印 2.5 請(qǐng)求體是否攜帶參數(shù) 2.6 注釋頁面渲染代碼 2.7 其他 第三章 尾聲 備注:該文章只是本人在工作/學(xué)習(xí)中常用的幾種方法,如果有不對(duì)大家“胃口”的地方,勿噴,可以在評(píng)論區(qū)提供

    2024年02月04日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包