根据源码,要到活跃瓦片寄存器了。
感谢@hankern
学习链接https://blog.youkuaiyun.com/hankern/article/details/84480730
初始化
这边版本不同,是
看看调用时机
往上一层
_liveTiles放入上下文环境,并随上下文环境在其它地方使用
再往上一层
再往上一层
再往上一层,回到setMap()
可见,还有很远的路要走。
先看看活跃瓦片寄存器的添加
这个_notifyNeighbors = false,没法通知了,为什么呢?看设置的地方
上一层
如果强制设置为true,即
仍然在初始化这里
这个版本已经初始化为false了,所以还要改改,才能够进入该分支。
先注释掉
继续往下
这个版本在这里没有,看看在哪里
Metrics::counter()不存在了
总结一下:_liveTiles活跃瓦片寄存器,与上下文相关,也就是场景中存在的瓦片。如果需要通知的话,则东南两个方向变化通知该瓦片。该瓦片变化则通知其他与该瓦片关联的瓦片。
在这个版本中,已经不再通知了。
在分页瓦片卸载器遍历时,会对满足一定条件的活跃瓦片寄存器卸载。
具体还得看大神hankern的博客33,
再次感谢@hankern