故意强制android等待并在后台加载一些东西

时间:2011-08-04 19:26:30

标签: android multithreading android-asynctask

我想强制android等待并继续同时处理某些事情。我已经看到了线程等待功能,但这只会让事情暂停一段时间而不会让应用程序做任何事情。后续流程简单地排队等待轮到他们。

我想强制进程的时间安排。这是一个线程与等待和asynctask

之间的组合

洞察力

2 个答案:

答案 0 :(得分:1)

public class yourActivity extends Activity{
final WebView yourWebview; //this is the webview
Context mContext = this;

public void onCreate(Bundle B){
setContentView(R.id.somethingtoshow);//this will be shown while webview working

Runnable yourRun = new Runnable(){
public void run(){
yourWebview = new WebView(mContext);
//do whatever you want with it
//loadUrl and whatever you want

//when your done
runOnUiThread(new Runnable(){
public void run(){
setContentView(yourWebView);
}
});

}
};
Thread T= new Thread(yourRun);
T.start();
}

}

答案 1 :(得分:0)

'等待'意味着让线程处于暂停状态 - 你的意思是让应用程序在流程完成之前什么也不做?

你永远不想让主事件线程挂起或等待,这将使用户认为应用程序被冻结。要做你想做的事,你可能会产生一个从主活动加载页面的异步线程。活动将继续显示您最后执行的操作,并且在异步进入后台时不会挂起或冻结。但是,用户仍然可以按下按钮,可能会弄乱你。

因此,为了让应用程序显示解冻并允许进程在后台进行,您需要进入某个加载屏幕或限制主要布局上的用户选项。这将允许活动继续发生,但允许用户顺利体验。