Вынудите Linq не задержать выполнение

Откройте Google Карты с помощью Intent с разными режимами:

Мы можем открыть приложение Google Maps с помощью намерения:

val gmmIntentUri = Uri.parse("google.navigation:q="+destintationLatitude+","+destintationLongitude + "&mode=b")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

Здесь «mode = b» - это для велосипеда.

Мы можем установить режим вождения, ходьбы и езды на велосипеде, используя:

  • d для вождения
  • w для ходьбы
  • b для езды на велосипеде

Вы можете узнать больше о намерениях с помощью Google Maps здесь .

Примечание: если нет маршрута для велосипеда / автомобиля / прогулки, тогда он покажет вам «Не могу найти дорогу»

Вы можете проверить мой оригинальный ответ здесь . [+1112]

18
задан Community 23 May 2017 в 12:31
поделиться

3 ответа

Вы бы ничего не боксировали - вы бы буферизовали результаты.

Использование ToList () - это, по сути, путь, если вам действительно нужны данные. Если вы не готовы использовать данные немедленно, их нужно буферизовать где-нибудь , не так ли? Список - это всего лишь удобный способ сделать это.

Альтернативой является обработка данных на месте - используйте данные по мере их создания. Я не совсем следил за тем, как обстоят дела с разными потоками, поэтому мне не ясно, поможет ли это вам, но, насколько я понимаю, это в основном варианты, доступные вам.

На самом деле это несколько явных в вашем описании:

Модель проекта до этого момента т это? Список - это всего лишь удобный способ сделать это.

Альтернативой является обработка данных на месте - используйте данные по мере их создания. Я не совсем следил за тем, как обстоят дела с разными потоками, поэтому мне не ясно, поможет ли это вам, но, насколько я понимаю, это в основном варианты, доступные вам.

На самом деле это несколько явных в вашем описании:

Модель проекта до этого момента т это? Список - это всего лишь удобный способ сделать это.

Альтернативой является обработка данных на месте - используйте данные по мере их создания. Я не совсем следил за тем, как обстоят дела с разными потоками, поэтому мне не ясно, поможет ли это вам, но, насколько я понимаю, это в основном варианты, доступные вам.

На самом деле это несколько явных в вашем описании:

Модель проекта до этого момента отправлять потоки сбора данных на найти данные, и когда они будут завершены передать данные для вычисления.

Вызов ToList () в основном изменяет то, что вы возвращаете из «запроса, который может получить данные по запросу», на «сами данные, буферизованные в списке».

24
ответ дан 30 November 2019 в 08:33
поделиться

Не могли бы вы объяснить, почему .ToList неприемлем? Вы упомянули бокс и распаковку, но это совершенно не связанные темы.

Часть принудительного завершения запроса LINQ по требованию требует сохранения результатов. В противном случае, чтобы снова увидеть результаты, вам придется повторно обработать запрос. .ToList эффективно достигает этого, сохраняя элементы в List .

Можно хранить элементы практически в любой другой структуре данных стиля коллекции с различными компромиссами, которые могут лучше соответствовать вашим потребностям.

7
ответ дан 30 November 2019 в 08:33
поделиться

В классе DataContext есть свойство LoadOptions , которое может помочь вам быстрее получать данные.

В противном случае вы могли бы использовать несколько умно размещены ToList () .

0
ответ дан 30 November 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: