diff --git a/libraries/map-custom/map-version-update b/libraries/map-custom/map-version-update index e4bc9e7ac6..a72da7252d 100644 --- a/libraries/map-custom/map-version-update +++ b/libraries/map-custom/map-version-update @@ -31,4 +31,9 @@ mapAutoView.setOnMapViewVisualAngleChangeListener 8.5.25 修改远景下拖动地图偶现黑屏问题 -关闭部分多余日志 \ No newline at end of file +关闭部分多余日志 + +8.5.26 +更新顺义高精数据 +优化渲染效率 +修改切换后台黑屏问题 \ No newline at end of file diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java index b2eaad0e6d..a38eff0242 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java @@ -95,7 +95,7 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { public IMogoMapView getMapView( Context context ) { Log.d(TAG,"setDebugMode==true"); NavAutoApi.INSTANCE.init( context, MapParams.Companion.init() - .setDebugMode( false ) + .setDebugMode( true ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) .setZoom( 20 ) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java index a0e22ed242..5e149a9011 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java @@ -12,7 +12,6 @@ import com.mogo.module.common.constants.DataTypes; import com.mogo.module.common.utils.SimpleHandlerThreadPool; import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.service.adas.IMogoADASController; -import com.mogo.utils.logger.Logger; import java.util.ArrayList; import java.util.Iterator; @@ -90,21 +89,17 @@ class AdasRecognizedResultDrawer extends BaseDrawer { // 复用之前存在的 marker String uniqueKey = recognizedListResult.uuid; IMogoMarker marker = mMarkersCaches.remove(uniqueKey); - // 对之前的marker 更新资源 todo 后面涉及到此类变化的数据均改动 - int resId = getModelRes(recognizedListResult.type); - String resIdVal = resId + ""; - marker.use3DResource(resIdVal); if (marker != null && !marker.isDestroyed()) { + updateCacheMarkerRes(marker, recognizedListResult); renderAdasOneFrame(marker, uniqueKey, recognizedListResult, newAdasRecognizedMarkersCaches); } else { // 新增添加进差集 newDiffSet.add(recognizedListResult); } } - Log.d("EmArrow", "复用 : cacheMarkerSize : " + mMarkersCaches.size()); + removeUselessMarker(); removeUselessLastRecord(); - Log.d("EmArrow", "复用 : removeUselessMarker cacheMarkerSize : " + mMarkersCaches.size()); // 能复用的 marker 数量 int cachedMarkerSize = mMarkersCaches.size(); @@ -113,7 +108,6 @@ class AdasRecognizedResultDrawer extends BaseDrawer { // 能复用的数量 int size = Math.min(cachedMarkerSize, newDiffSetSize); - Log.d("EmArrow", "复用 : cacheMarkerSize : " + cachedMarkerSize + " newDiffSetSize : " + newDiffSetSize + " minSize : " + size); // 复用过期 marker if (newDiffSetSize > 0) { Iterator> entryIterator = mMarkersCaches.entrySet().iterator(); @@ -128,23 +122,10 @@ class AdasRecognizedResultDrawer extends BaseDrawer { Log.d("EmArrow", "存在复用marker为空数据"); continue; } - // 复用,更新marker 3D资源 -// if (old == null || old.type != recognizedListResult.type) { -// int resId = getModelRes(recognizedListResult.type); -// String resName = mMarkerCachesResMd5Values.get(resIdVal); -// if (!TextUtils.isEmpty(resName)) { -// if (!TextUtils.equals(resName, marker.getMarkerResName())) { -// marker.use3DResource(resName); -// } -// } else { -// resName = marker.use3DResource(resId); -// mMarkerCachesResMd5Values.put(resIdVal, resName); -// } -// } - int resId = getModelRes(recognizedListResult.type); - String resIdVal = resId + ""; - marker.use3DResource(resIdVal); + if (old == null || old.type != recognizedListResult.type) { + updateCacheMarkerRes(marker, recognizedListResult); + } renderAdasOneFrame(marker, uniqueKey, recognizedListResult, newAdasRecognizedMarkersCaches); } @@ -159,13 +140,31 @@ class AdasRecognizedResultDrawer extends BaseDrawer { renderAdasOneFrame(marker, uniqueKey, recognizedListResult, newAdasRecognizedMarkersCaches); } } - Log.d("EmArrow", "清除前 dirty Markers size : " + mMarkersCaches.size()); if (cachedMarkerSize - size > 0) { sendMessage(MSG_REMOVE_DIRTY_MARKERS, mMarkersCaches); } - Log.d("EmArrow", "清除后 dirty Markers size : " + mMarkersCaches.size()); mMarkersCaches = newAdasRecognizedMarkersCaches; - Log.d("EmArrow", "复用 : 赋值 mMarkersCaches size : " + mMarkersCaches.size()); + } + + /** + * todo 后面涉及到此类变化的数据均改动 + * + * @param marker + * @param recognizedListResult + */ + private void updateCacheMarkerRes(IMogoMarker marker, ADASRecognizedResult recognizedListResult) { + String resIdVal = null; + int resId = getModelRes(recognizedListResult.type); + resIdVal = resId + ""; + String resName = mMarkerCachesResMd5Values.get(resIdVal); + if (!TextUtils.isEmpty(resName)) { + if (!TextUtils.equals(resName, marker.getMarkerResName())) { + marker.use3DResource(resName); + } + } else { + resName = marker.use3DResource(resId); + mMarkerCachesResMd5Values.put(resIdVal, resName); + } } private void removeUselessLastRecord() { // todo 最好重新设计一个数据结构,用于多线程数据过期失效的场景,参见redis数据过期 @@ -278,13 +277,12 @@ class AdasRecognizedResultDrawer extends BaseDrawer { .gps(true) .anchorColor(carColor) .controlAngle(true) -// .resName(mMarkerCachesResMd5Values.get(resIdVal)) - .resName(resIdVal) + .resName(mMarkerCachesResMd5Values.get(resIdVal)) .icon3DRes(resId) .rotate((float) recognizedListResult.heading) .position(new MogoLatLng(recognizedListResult.lat, recognizedListResult.lon)); IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(DataTypes.TYPE_MARKER_ADAS, options); -// cacheMarkerIconResMd5Val(resIdVal, marker); + cacheMarkerIconResMd5Val(resIdVal, marker); return marker; }