{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516300259,"data":{"id":71712827,"title":"2.4.6.2 多屏多线程渲染","slug":"kafih6","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

基本介绍

一个地图设备绑定有两个线程,一个为渲染线程(用于渲染相关绘制),一个为图层线程(用于图层相关处理)。本文用内部创建渲染线程为例子。当创建多屏需要指定对应的uiTaskDeviceId。否则可能出现图层线程无规律崩溃现象。

时序图

图层对线程的要求

设备创建销毁

关键参数

com.autonavi.gbl.map.model.DeviceAttribute.deviceWorkMode

com.autonavi.gbl.map.model.DeviceAttribute.uiTaskDeviceId

ID

含义

BIZTaskDeviceIDInvalid

无效显示屏幕

BIZTaskDeviceIDDefault

默认显示屏幕,主屏

...


BIZTaskDeviceIDExternal8

扩展屏幕(第8个)

核心接口

// 创建\nMapDevice com.autonavi.gbl.map.MapService.createDevice(\n    @EGLDeviceID.EGLDeviceID1 int shareDeviceId,\n\tDeviceAttribute deviceAttr,\n\tIDeviceObserver pIDeviceObserver \n)\n

   说明:函数详情,请复制函数名称到在线API搜索


调用示例

// 第一屏,具体代码参见设备创建销毁,这边只列出关键参数\nMapDevice mapDevice1;\nDeviceAttribute devAttribute1 = new DeviceAttribute();\ndevAttribute1.deviceWorkMode = EGLDeviceWorkMode_WithThreadWithEGLContextDrawIn;\n\n// 创建图层线程,具体创建方式参见图层对线程的要求。\ndevAttribute1.uiTaskDeviceId = BIZTaskDeviceIDDefault;\nmapDevice1 = mapService.createDevice(EGLDeviceID.EGLDeviceIDDefault, devAttribute, this);\n\n// 用创建第二屏作为例子,具体代码参见设备创建销毁,这边只列出关键参数\nMapDevice mapDevice2;\nDeviceAttribute devAttribute2 = new DeviceAttribute();\ndevAttribute2.deviceWorkMode = EGLDeviceWorkMode_WithThreadWithEGLContextDrawIn;\n\n// 创建图层线程,具体创建方式参见图层对线程的要求。\ndevAttribute2.uiTaskDeviceId = BIZTaskDeviceIDExternal1;\nmapDevice2 = mapService.createDevice(EGLDeviceID.EGLDeviceIDExternal1, devAttribute, this);


","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:01:25","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":152,"collectCount":0,"estimateDate":3,"docStatus":0,"permissions":true,"overView":false}}