Можешь объяснить ключевые различия между Flow и LiveData в Kotlin, включая их поведение при потоковой передаче данных, осведомленность о жизненном цикле и практические случаи использования в современной разработке под Android? — ДейлиПреп