接下来看下引导模块
从三个方面来写吧,绘制,回调,用户操作
绘制:
自定义绘制 各种图标,参考点的调整,主要注意点是防止未释放导致的泄露
PrepareLayerStyleInner这个类里包含了app和sdk交互的绘制接口,自定义地图上的各种图标,自定义view都可以这里定义样式。
可以在 clearLayerItem及clearLayerItems里面加个log,看下释放有泄露,或超过500条了。
log(TAG, "clearLayerItem getUsedTextureCount = {?} , layerId = {?}, layerName={?},item = {?},{?}", pLayer.getMapView().getUsedTextureCount(), pLayer.getLayerID(),
pLayer.getName(), layerItem.getID(), layerItem.getTypeIdName());
回调:
1 重算:备选路重算容易导致路线异常刷新,路口图异常消失等,建议屏蔽该条件,或加条件重算
POIForRequest,pathinfo,NaviPath,都需要主动的及时的调用对应的释放方法,否则内存泄露。
2 切备选:有手动,和自己走上去,这个到还好,但是和 删除回调一起,容易出错
3 删除,首先各个路线拿出来后,要自己释放,其次路线保存
要么直接缓存pathinfo,不用pathresult
要么pathresult删除后,取出来的pathinfo要自己释放,别乱释放,别释放了还拿着他查找 pathid,这个sdk直接抛出异常才对,居然还返回了个默认值。
删除时候要考虑同步删除,且要倒序删除,或Iterator删除。
4 高架上下主辅路:算路时候需要设置更多的参数点位信息,具体不说了,高德文档上查
5 建议path缓存类设为单例,无需释放除非退出算路,或退出引导。太多地方用到了。反正我是单例的。
用户操作:这块暂时没想到啥
想到了再补充吧。
还有主页和对外接口呢,明天应该差不多,(接下来要稳定性,app性能,以及 android知识--》通用的知识)得抓紧了