Черный экран после установки… [дубликат]

Как сказано в Учебнике по фоновой обработке Android с помощью Handlers, AsyncTask и Loaders на сайте Vogella:

Класс Handler может использоваться для регистрации в потоке и предоставляет простой канал для отправки данных в эту ветку.

Класс AsyncTask инкапсулирует создание фонового процесса и синхронизацию с основным потоком. Он также поддерживает отчеты о ходе выполнения задач.

А Thread в основном является основным элементом многопоточности, который разработчик может использовать со следующим недостатком:

Если вы используете потоки Java, вы должны выполнить следующие требования в своем собственном коде :

  • Синхронизация с основным потоком, если вы отправляете результаты назад в пользовательский интерфейс
  • Нет отмены по умолчанию для потока
  • Нет пула потоков по умолчанию
  • Нет значения по умолчанию для обработки изменений конфигурации в Android

И в отношении AsyncTask, как сказано в Справочнике разработчика Android :

AsyncTask обеспечивает правильное и простое использование потока пользовательского интерфейса. Этот класс позволяет выполнять фоновые операции и публиковать результаты в потоке пользовательского интерфейса без необходимости манипулировать потоками и / или обработчиками.

AsyncTask разработан, чтобы быть вспомогательным классом вокруг Thread и Handler, и не представляет собой общую структуру потоков. AsyncTasks в идеале следует использовать для коротких операций (максимум несколько секунд). Если вам нужно, чтобы потоки работали в течение длительных периодов времени, настоятельно рекомендуется использовать различные API, предоставляемые пакетом java.util.concurrent, такие как Исполнитель, ThreadPoolExecutor и FutureTask.

Обновление май 2015: Я нашел превосходную серию лекций , посвященных этой теме.

Это поиск Google: лекция Дугласа Шмидта об параллельности и синхронизации Android

Это видео первой лекции на YouTube

Все это является частью CS 282 (2013): Системное программирование для Android из Университета Вандербильта . Вот YouTube Playlist

Дуглас Шмидт, кажется, отличный лектор

Важно: Если вы находитесь в точке, где вы находитесь Принимая во внимание использование AsyncTask для решения ваших проблем с потоками, вы должны сначала проверить ReactiveX/RxAndroid для, возможно, более подходящего шаблона программирования. Очень хороший ресурс для получения обзора - Изучение RxJava 2 для Android на примере .

0
задан 05.05.2020, 20:05

1 ответ

Вы пытались заглянуть внутрь своего компьютера или на штекеры. Возможно, штекеры подключены неправильно, и если они есть, попробуйте повторно подключить видеокарту

0
ответ дан 05.05.2020, 20:06

Теги

Похожие вопросы