Я использую термин Задача контекст - как C# Тип задачи - и Android контекст , чтобы различать эти две сущности.
Лучше попросите быть уверенным на 100% - когда вы работаете с WPF или WindowsForms, вы не можете свободно взаимодействовать с UI. Например, когда вы используете await
, вы хотите сохранить контекст задачи (поэтому не обычно ConfigureAwait(false)
).
Итак, мой вопрос - когда я пытаюсь отправить намерение из другого потока, я должен также сделайте некоторую подготовку, скажем, когда я использую await
, должен ли я сохранять контекст задачи? Или это сам процесс отправки подготовки - что-то вроде (надуманной) аналогии с Dispatcher.Invoke
в WPF?
Другими словами, могу ли я просто слепо отправлять намерение независимо от того, в каком потоке я нахожусь, пока мой Android контекст действителен? Или, может быть, это зависит от целевого потока - когда, например, это основной / пользовательский поток, я должен сделать что-то дополнительное, или он всегда будет работать правильно?