Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Places API for Android

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Places API for Android
  3. Создание соответствующих ключей

Буферы

В Google Places API for Android содержится несколько буферов, которые следует обрабатывать определенным образом, чтобы исключить утечки памяти в приложении. В число этих буферов входят:

При работе с ними следует учитывать следующие важные моменты.

  • В целях предотвращения утечек памяти освободите объект буфера, если он больше не требуется в приложении. Для этого вызовите для буфера метод release().
  • Если же вы желаете продолжить работу с объектом в буфере, после того как буфер был освобожден, вызовите метод freeze() для объекта, прежде чем вызывать метод buffer.release(). Следует отметить, что вызов метода freeze() для объекта может привести к увеличению объема используемой памяти, поскольку при этом может быть создана дополнительная копия объекта. (Для уже зафиксированного объекта дополнительная копия не создается.) Поэтому фиксировать объект следует только в том случае, если вам требуется доступ к нему после освобождения буфера.

Ниже показан пример обработки буфера PlaceBuffer.

PlaceBuffer buffer = GeoDataApi.getPlaceById(id1, id2, ...);

Place place = buffer.get(0);

// It's OK to use the place object here, as the buffer hasn't been released yet.
String name = place.getName();

Place frozen = place.freeze();

buffer.release();

// If you call place.getName() here, an exception is thrown,
// because the buffer has been released.
// Instead, use the frozen Place object.
name = frozen.getName();

Чтобы определить, доступен ли объект, можно в любой момент воспользоваться методом isDataValid(). Например, метод place.isDataValid() возвращает true, если он вызван до вызова метода buffer.release(), и false – после вызова этого метода. Обратите внимание, что вызов frozen.isDataValid() возвращает true как до освобождения буфера, так и после этого.

Оставить отзыв о...

Текущей странице
location_on
Google Places API for Android