Package com.naver.maps.map.clustering
Class DefaultMarkerManager
- java.lang.Object
-
- com.naver.maps.map.clustering.DefaultMarkerManager
-
- All Implemented Interfaces:
MarkerManager
public class DefaultMarkerManager extends java.lang.Object implements MarkerManager
기본MarkerManager구현체. 이 클래스를 이용하면Marker객체가 재사용되어 성능이 향상됩니다. 대신 한 번 사용되었던Marker객체의 속성이 초기화되지 않고 계속 남으므로ClusterMarkerUpdater와LeafMarkerUpdater에서 매번Marker의 속성을 지정해야 합니다. 단, 변하지 않는 속성이 있다면createMarker()를 오버라이드해Marker의 속성을 생성 직후 한 번만 지정하도록 최적화할 수 있습니다.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAX_POOL_SIZE기본 재사용 풀 크기.
-
Constructor Summary
Constructors Constructor Description DefaultMarkerManager()기본 생성자.DefaultMarkerManager(int maxPoolSize)재사용 풀의 크기를 지정하는 생성자.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MarkercreateMarker()새로운 마커 객체를 생성합니다.voidreleaseMarker(MarkerInfo info, Marker marker)Marker객체를 다시 사용할 수 있도록 풀로 반환합니다.MarkerretainMarker(MarkerInfo info)풀로부터Marker객체를 가져와 반환합니다.
-
-
-
Field Detail
-
DEFAULT_MAX_POOL_SIZE
public static final int DEFAULT_MAX_POOL_SIZE
기본 재사용 풀 크기.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultMarkerManager
public DefaultMarkerManager()
기본 생성자. 재사용 풀의 크기는DEFAULT_MAX_POOL_SIZE로 지정됩니다.
-
DefaultMarkerManager
public DefaultMarkerManager(int maxPoolSize)
재사용 풀의 크기를 지정하는 생성자.- Parameters:
maxPoolSize- 재사용 풀의 크기.
-
-
Method Detail
-
retainMarker
@NonNull @UiThread public final Marker retainMarker(@NonNull MarkerInfo info)
풀로부터Marker객체를 가져와 반환합니다. 풀이 비어있다면createMarker()를 호출해 새로운 마커 객체를 생성합니다.- Specified by:
retainMarkerin interfaceMarkerManager- Parameters:
info- 노출이 필요한MarkerInfo객체.- Returns:
- 노출할
Marker객체.
-
releaseMarker
@UiThread public final void releaseMarker(@NonNull MarkerInfo info, @NonNull Marker marker)Marker객체를 다시 사용할 수 있도록 풀로 반환합니다.- Specified by:
releaseMarkerin interfaceMarkerManager- Parameters:
info- 더 이상 노출되지 않는MarkerInfo객체.marker- 더 이상 노출되지 않는Marker객체.
-
createMarker
@NonNull @UiThread public Marker createMarker()
새로운 마커 객체를 생성합니다.
-
-