Мне интересно, когда я должен использовать handler.post(runnable);
и когда я должен использовать new Thread(runnable).start();
Это упоминается в документации разработчиков для Handler:
Вызывает добавление Runnable r в очередь сообщений. Runnable будет запущен в потоке, к которому прикреплен этот обработчик.
Означает ли это, что если я напишу в классе onCreate()
of Activity
:
Handler handler = new Handler();
handler.post(runnable);
тогда runnable будет вызываться в отдельном потоке или в потоке Activity?
new Thread(runnable).start()
, у вас может закончиться размер памяти стека VM. Вы хотите использоватьExecutors
и сохранить ссылку на это (не создавайте нового исполнителя для каждого вызова, который перешел бы в фоновый поток) - person EpicPandaForce   schedule 10.03.2019