[2.13.2]优化MarkerManager代码逻辑

This commit is contained in:
renwj
2023-01-14 10:19:25 +08:00
parent 0106e7a34e
commit 787e981f69

View File

@@ -56,7 +56,7 @@ object MarkerManager {
private const val TAG = "MarkerManager"
private val markers by lazy { LinkedList<MarkerWrapper>() }
private val showedMarkers by lazy { LinkedList<MarkerWrapper>() }
private val toRemoveMakers by lazy { LinkedList<MarkerWrapper>() }
@@ -113,7 +113,7 @@ object MarkerManager {
}
Log.d(TAG, "--- checkTask --- 5 ---:delta:$delta, elapsed:${elapsed}")
if (elapsed >= 300) {
var removeMarkerError = marker.markers == null || marker.markers?.isEmpty() == true
var removeMarkerError = false
marker.markers?.forEach {
try {
it.setVisible(false)
@@ -124,7 +124,7 @@ object MarkerManager {
Log.e(TAG, "--- checkTask --- remove marker error:${t.message}")
}
}
var removeLineError = marker.lines == null || marker.lines?.isEmpty() == true
var removeLineError = false
marker.lines?.forEach {
try {
it.isVisible = false
@@ -146,7 +146,7 @@ object MarkerManager {
}
}
}
val iterator = markers.iterator()
val iterator = showedMarkers.iterator()
while (iterator.hasNext()) {
val marker = iterator.next()
if (carLoc.get() == null) {
@@ -186,8 +186,8 @@ object MarkerManager {
fun addMarker(marker: MarkerWrapper) {
synchronized(markers) {
markers.offer(marker)
synchronized(showedMarkers) {
showedMarkers.offer(marker)
}
if (isFirstAdd.compareAndSet(false,true)) {
handler.postDelayed(checkTask, 1000)