LayoutInflater
не делает никаких предположений о том, в каком потоке он работает. И ничего не упоминается об этом в его документации. Кроме того, его кодовые швы не зависят от потоков.
С другой стороны, представления, созданные LayoutInflater
, могут создавать экземпляры Handler
s в своих конструкторах. Ну, они, вероятно, не должны этого делать, но для них нет требования не создавать / использовать Handler
s в своих конструкторах.
Я предполагаю, что Samsung Galaxy S имел некоторые модификации в EditText
, которые каким-то образом инициировали создание Handler
(согласно журналу отказов из вашего другого экземпляра вопроса GestureDetector
был создан экземпляр, который, в свою очередь, создал новый Handler
). Хотя реализация по умолчанию не делает этого.
В целом, я бы сказал, что из-за явного требования для View
s не использовать Handler
s и Looper
s в своих конструкторах, вы не можете предполагать, что накачка Views из потока не-UI безопасна ,
Вы можете создать HandlerThread
и попробовать накачать View
s внутри него. Но я бы сказал, что это очень рискованно, так как в примере с Samsung Galaxy S предполагается, что этот поток будет работать в течение жизни View
и будет обрабатывать все сообщения, используя Looper
. Что может привести к сбою позже.