我建立其中I顯示在帶選項卡的佈局的圖表幾個應用程序中使用androidplot庫不定進度卡住(不旋轉),儘管的AsyncTask
在每個I示出了片段內部的單圖表標籤(使用的ActionBar標籤)。由於渲染速度很慢(我有一系列3000/4000值),所以我試圖使用AsyncTask將圖形生成放入後臺線程中。
它工作正常,但我注意到如果我使用不確定的ProgressBar,指標不旋轉,但它仍然是靜止的,這意味着有一些進程阻止UI線程。 (我的猜測在這裏)。
對於如何改進我的應用程序,您有什麼建議嗎?我想顯示進度的負載指示,而不是仍然文本
這裏是的AsyncTask代碼,我在那裏結束了使用「計算...」消息,而不是一個進度作爲一種解決方法:
private class AsyncPlotTask extends AsyncTask<XYPlot, Void, Boolean> {
@Override
protected void onPreExecute() {
//show loading message only
loading.setVisibility(View.VISIBLE);
dataContainer.setVisibility(View.GONE);
}
@Override
protected Boolean doInBackground(XYPlot... plot) {
boolean success = true;
plot[0].addSeries(dataSeries, dataSeriesFormat);
return success;
}
@Override
protected void onPostExecute(Boolean result) {
//hide loading message and show graph
loading.setVisibility(View.GONE);
dataContainer.setVisibility(View.VISIBLE);
}
}//AsyncPlotTask
你開始在比UI線程以外的線程的AsyncTask? –