
Android中用什么替换Thread.sleep
3个回答
2016-03-20 · 百度知道合伙人官方认证企业
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注

展开全部
android 中,有的时候用Thread.sleep()是不合适的。
例如,你在用ProgressDialog 的时候,如果用的不合适,会使Progressdialog图标不转动。
代替方法是,用Handler.postDelayed需求是等2s,请求一下服务器。等待的时候,显示ProgressDialog 。
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sendMessage("");//耗时操作
替换成
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
sendMessage("");//耗时操作
}
}, 2000);
例如,你在用ProgressDialog 的时候,如果用的不合适,会使Progressdialog图标不转动。
代替方法是,用Handler.postDelayed需求是等2s,请求一下服务器。等待的时候,显示ProgressDialog 。
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sendMessage("");//耗时操作
替换成
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
sendMessage("");//耗时操作
}
}, 2000);
展开全部
android 中,有的时候用Thread.sleep()是不合适的。
例如,在用ProgressDialog 的时候,如果用的不合适,会使Progressdialog图标不转动。
代替方法是,用Handler.postDelayed
1.需求是等2s,请求一下服务器。等待的时候,显示ProgressDialog 。
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sendMessage("");//耗时操作
2.替换成
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
sendMessage("");//耗时操作
}
}, 2000);
下面这个ProgressDialog 转动的。
第一个ProgressDialog 不转动,看着卡。
例如,在用ProgressDialog 的时候,如果用的不合适,会使Progressdialog图标不转动。
代替方法是,用Handler.postDelayed
1.需求是等2s,请求一下服务器。等待的时候,显示ProgressDialog 。
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sendMessage("");//耗时操作
2.替换成
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
sendMessage("");//耗时操作
}
}, 2000);
下面这个ProgressDialog 转动的。
第一个ProgressDialog 不转动,看着卡。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法一:
利用定时器
TimerTask task = new TimerTask(){
public void run(){
//execute the task
}
};
Timer timer = new Timer();
timer.schedule(task, delay);
//
方法二:
new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
}
}, delay);
利用定时器
TimerTask task = new TimerTask(){
public void run(){
//execute the task
}
};
Timer timer = new Timer();
timer.schedule(task, delay);
//
方法二:
new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
}
}, delay);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询