Сделайте эту процедуру ниже, чтобы помочь в вашем приложении
Android также предоставляет нечто, называемое AsyncTask, которое специально разработано для запуска некоторых вещей в отдельном потоке, а некоторых - в потоке пользовательского интерфейса. При этом автоматически используется пул потоков Android, и если у вас нет причин использовать явный отдельный поток, это простой и понятный способ:
private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
// Runs on a ThreadPool thread
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
// Sends data to onProgressUpdate to run on the UI thread
publishProgress((int) ((i / (float) count) * 100));
}
return totalSize;
}
// Runs on the UI thread!
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
// Runs on the UI thread!
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}