導航:首頁 > 操作系統 > android定時任務

android定時任務

發布時間:2022-01-24 23:32:51

android用timer做定時任務,崩潰的原因

在做定時任務的時候,有的同學可能能會用到Timer這個定時任務的輔助類,
但是使用它會有潛在的風險,風險如下,
(1)時間計算不準確問題
因為Timer是以絕對時間計算定時任務的,會受到系統時間的影響,如果在任務執行期間,更改了系統時間,那麼會
導致時間計算不準確問題,導致任務沒用按找預定的時間執行。
(2)只能單任務執行
簡單講就是,只能一次執行一個任務,如果前一個任務沒有執行完成,後一個任務是無法並行執行的,只能等待前一個任務執行完成
才能執行。也有可能會出現這樣的結果,前一個任務執行的時間太長,後幾個任務時間短,可能在一個時間段內執行了多個任務,任務又
沒有按照我們要執行的時間執行。
(3)非檢查異常導致非同步任務終止
Timer當在執行的過程中遇到非檢查異常的時候,會導致本次任務失敗,並且接下來的任務也無法被執行,Timer將會終止執行,這不是
我們要的結果,我們需要一套恢復機制。

java5以後可以用下面的這個類來替代Time,並且解決了以上三個問題
java.util.concurrent.ScheledThreadPoolExecutor

那麼在Android上呢,可以用 java.util.concurrent.ScheledThreadPoolExecutor,也可以用Handler機製做,
但是不建議使用Timer

Ⅱ android 關於定時執行問題

Handler.postDelayed的Integer參數代表是毫秒,你給的1000意思是一秒鍾,如果你是重復執行某一任務,延遲時間是上一次任務執行完畢,再等待十秒,你雖然延遲的是一秒,但可能gps(),代碼執行需要9秒。

Ⅲ 安卓定時器Handler如何關閉

{
publicTimeCounts(longmillisInFuture,longcountDownInterval){
super(millisInFuture,countDownInterval);//參數依次為總時長,和計時的時間間隔
}

@Override
publicvoidonFinish(){//計時完畢時觸發

}

@Override
publicvoidonTick(longmillisUntilFinished){//計時過程顯示
//倒計時數可以寫在這兒
}
}

TimeCounts timeCounts = new TimeCounts(30000, 1000);//總時長30s,間隔1s

timeCounts.start();//倒計時開始

timeCounts.cancel();//取消倒計時

Ⅳ java/安卓關於Timer,task,schele重新設置定時任務時間的問題

先cancel,然後再重新實例化、設定時間

Ⅳ 安卓手機定時任務軟體

可以先在手機日歷中選擇新建事件,然後在對應日期設置提醒,接著再選擇重復以及提醒的頻率和時間即可。你也可以在手機自帶的便簽或備忘錄中添加日程提醒,這樣它也可以准時提醒你。或者你也可以在手機上使用敬業簽,因為它支持自定義周期重復提醒的功能,而且除了支持公歷日期提醒外,還能按照農歷日期設置提醒。

Ⅵ 安卓定時任務軟體

沒用過定時打電話,發簡訊的那種的,好像是有的。我一直用這個,是切換飛行模式,情景模式,WIFI的。

http://shouji..com/soft/item?docid=4385360&f=search_app_%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%40list_1_title%402

Ⅶ android怎麼設置一個定時的任務

我知道的有三種方法;
方法一:可以通過android自帶的Handler機制,裡面有new Handler().postDelayed(new Runnable(){
@Override
public void run() {
//延遲的時間到了執行
}
},延遲的時間);

方法二:可以通過java裡面的線程來寫,new Thread().sleep(延遲時間);時間到了會繼續執行;
方法三:java定時器(有很多方法)例如:
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, long delay,long period);
delay延遲的時間,period為多久執行一次;
個人推薦用方法一,畢竟安卓系統自帶的,並且安卓不適合加定時器,如果處理不當一直執行的話,要麼卡,要麼程序崩潰。還有發布版本可能審核不通過。

Ⅷ Android 定時執行任務的幾種方法

alarmManager
Timer
Handler

Ⅸ android定時器alarmmanager和timer的區別

Java的Timer類可以用來計劃需要循環執行的任務。
簡單的說,一個Timer內部封裝裝了「一個Thread」和「一個TimerTask隊列」,這個隊列按照一定的方式將任務排隊處理。封裝的Thread在Timer的構造方法調用時被啟動,這個Thread的run方法按照條件去循環這個TimerTask隊列,然後調用TimerTask的run方法。

但是,如果CPU進入了休眠狀態,那麼這個thread將會因為失去CPU時間片而阻塞,從而造成我們需要的定時任務失效。上述定時任務失效的場景分析:假設定時任務的條件是到了時間xx:yy才能執行,但由於cpu休眠造成線程阻塞的關系,當前系統時間超過了這個時間,即便CPU從終端中恢復了,那麼由於條件不滿足,定時任務在這一次自然就失效了。

它需要用WakeLock讓CPU 保持喚醒狀態。這樣會大量消耗手機電量,大大減短手機待機時間。這種方式不能滿足需求。

AlarmManager是Android 系統封裝的用於管理RTC的模塊,RTC(Real Time Clock) 是一個獨立的硬體時鍾,可以在 CPU 休眠時正常運行,在預設的時間到達時,通過中斷喚醒CPU。這意味著,如果我們用 AlarmManager 來定時執行任務,CPU 可以正常的休眠,只有在需要運行任務時醒來一段很短的時間。

Ⅹ 如何在android應用中定時進行操作

在手機上安裝定時達人軟體

定時達人有自己的網站,相關應用在各大應用商城也有。可以通過apk進行安裝,可以從應用商店下載安裝。我是從google play上下載安裝的。

添加新任務

設置任務——設置時間

設置任務——給任務取個名字

設置任務——添加新任務

選擇運行程序一欄

設置任務——選擇定時打開的應用程序

點擊應用程序,選擇讀者。

保存設置

這里需要點兩次保存,之後就回到了定時達人主頁面。

8

通過立即執行進行測試設置效果

單擊定時打開讀者一欄,在彈出下拉框中選擇立即執行來立即執行任務。在設置正確的情況下讀者應用被打開,通知欄會有相應通知提示。

在之前的設置步驟中,保持了默認的循環方式,即周循環,一周的每一天都選中。按照設置,每一天的指定時間都可以自動打開相應應用。

閱讀全文

與android定時任務相關的資料

熱點內容
雲伺服器不支持虛擬化怎麼辦 瀏覽:184
加密方式的演變 瀏覽:362
java常用演算法pdf 瀏覽:734
伺服器數據遇到異常什麼原因 瀏覽:450
phpexif信息 瀏覽:542
單片機三位元組浮點數 瀏覽:756
命令與征服泰伯利亞戰爭下載 瀏覽:378
c窗口界面編程 瀏覽:23
hypermill編程能做模板嗎 瀏覽:782
計算機網路最經典的演算法 瀏覽:628
華為思科的配置命令 瀏覽:869
linux設置光碟啟動 瀏覽:361
程序員俱樂部注冊 瀏覽:19
洗潔精雞蛋盤解壓視頻 瀏覽:293
企業內網加密app 瀏覽:49
騰訊雲伺服器怎麼設置本地網路 瀏覽:623
日常程序員 瀏覽:515
哪個pe有bit加密功能 瀏覽:110
rust伺服器是用什麼ip 瀏覽:693
java隨機字元串生成 瀏覽:555