Повторное создание новых макетов - это, безусловно, что-то дорогое в потоке пользовательского интерфейса, которое блокирует поток до тех пор, пока работа не будет выполнена, что не происходит из-за создания нового макета, как только предыдущий будет выполнен.Таким образом, это приводит к блокировке пользовательского интерфейса на несколько секунд, и Android помечает ваше приложение как не реагирующее из-за тяжелой обработки, которую вы выполняете в пользовательском интерфейсе (что чувствует пользователь), и показывает пользователю диалоговое окно ANR, позволяющее ему / ей остановить приложение и потянутьвернитесь назад к страданиям.
Что вам нужно сделать, это переместить свою работу в фоновый поток и достичь пользовательского интерфейса с new Handler(Looper.getMainLooper())
, если ваш алгоритм работает так или вы можете попытаться изменить свой алгоритм, чтобы получитьэто делается без блокировки пользовательского интерфейса и уведомления пользователей.