Тормозит ProgressDialog при показе из AsyncTask

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Тормозит ProgressDialog при показе из AsyncTask

Сообщение bydirect » 21 апр 2015, 13:55

Всем привет. Помогите решить проблему.

Есть класс AsyncTask. При обращении к классу в onPreExecute() показывается ProgressDialog.
В oInBackground идет запрос на сервер, в onPostExecute(), ProgressDialog скрывается.
Проблема заключается в том, что ProgressDialog показывается не сразу, а только после того как с сервера приходит ответ. Так как ответ приходит не сразу, то кажется что приложение зависает.

[syntax=java5]
protected void onPreExecute() {
AlertDialog.Builder builder = new AlertDialog.Builder(myActivity);
builder.setTitle(R.string.post_connect)
.setMessage(R.string.post_body_connect)
.setIcon(R.drawable.ic_launcher)
.setCancelable(false)
.setNegativeButton(R.string.done_btn_dialog_close,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
String cs = myActivity.CONNECTIVITY_SERVICE;
ConnectivityManager cm = (ConnectivityManager)myActivity.getSystemService(cs);
NetworkInfo nInfo = cm.getActiveNetworkInfo();
if (nInfo != null && nInfo.isConnected()) {
//Log.i("Connect: ", "yes");

} else {
//Log.i("Connect: ", "no");
AlertDialog alert = builder.create();
alert.show();
}
dialog = new ProgressDialog(myActivity);
dialog.setMessage("Loading, please wait");
dialog.setTitle("Connecting server");
dialog.show();
dialog.setCancelable(false);
}
[/syntax]


По логам зависание идет после этой строки "I/global﹕ call createSocket() return a new socket." Через какое-то время приходят данные с сервера и вместе с ними показывается ProgresDialog

Ответить