JAVA 安卓开发中 如何实现语句间延迟执行

JAVA 安卓开发中 如何实现语句间延迟执行,第1张

线程 *** 作,如

运行后的界面,继承线程类,或继承AsyncTask

在类的任务扩展AsyncTask

保护无效的doInBackground(VOID 参数){

调用Threadsleep(1000);

}

保护无效onPostExecute(虚空结果){

resultsetText(strtoString()); BR />

}

}

主线程“新”的任务()()内的;

在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Threadsleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如

Java 代码复制内容到剪贴板

try

{

ThreadcurrentThread()sleep(1000);//毫秒

}

catch(Exception e){}

在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线 程可能在实际被挂起5000001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。

但是如果要使用精确延时,最好使用Timer类:

Java 代码复制内容到剪贴板

Timer timer=new Timer();//实例化Timer类

timerschedule(new TimerTask(){

public void run(){

Systemoutprintln("退出");

thiscancel();}},500);//五百毫秒

这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次, 使用timerschedule(new MyTask(), 1000, 2000); 则每间隔2秒执行MyTask()

这是安卓的缺陷。苹果因为系统封闭,所有推送由苹果自己负责统一推送,所以程序不需要后台,所有软件都能及时推送。而安卓也有谷歌统一推送,但是由于一些因素国内支持的很少,所以安卓很多软件如果要及时推送就必须锁定在后台,少数几个还好,如果需要推送的多了都锁定后台对性能续航都会有比较大影响。

所以目前大多采用第三方消息推送平台,例如极光,个推等

Handler mhandler = new Handler() {

@Override

public void handleMessage(Message msg) {

switch(msgwhat){

case 0:

//更新你相应的UI

mhandlersendEmptyMessageDelayed(0, 1000);

break;

case 1:

break;

}

}

};

在你想要启动的位置,调用mhandlersendEmptyMessageDelayed(0, 1000);

若想要停止,则调用mhandlerremoveMessages(0);即可;

注意,mhandler 必须是在主线程中创建,也就是常用说的UI线程。

以上就是关于JAVA 安卓开发中 如何实现语句间延迟执行全部的内容,包括:JAVA 安卓开发中 如何实现语句间延迟执行、javaandroid延时函数 怎么解决这个问题、如何解决android消息通知推送延迟的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10100993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存