
多线程 *** 作,如
运行后的界面,继承线程类,或继承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消息通知推送延迟的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)