一切就绪!

着手开发前,请先阅读我们的开发者文档

激活 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() 来确定对象是否可用。例如,在调用 buffer.release() 之前,place.isDataValid() 会返回 true,调用后会返回 false。请注意,在释放缓冲区之前和之后,frozen.isDataValid() 都会返回 true

发送以下问题的反馈:

此网页
location_on
Google Places API for Android