Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当mapview';s尺寸是否从其初始(零)状态更改?_Android_Optimization_Lazy Loading_Android Mapview - Fatal编程技术网

Android 当mapview';s尺寸是否从其初始(零)状态更改?

Android 当mapview';s尺寸是否从其初始(零)状态更改?,android,optimization,lazy-loading,android-mapview,Android,Optimization,Lazy Loading,Android Mapview,我正在实现一个基于用户当前查看矩形的惰性覆盖图。查看矩形根据mapview的尺寸进行初始化,如下所示: Rect viewRectangle = new Rect(0, 0, mapView.getWidth(), mapView.getHeight()); 通过调试,地图视图的宽度和高度保持不变(方向改变时除外),初始创建地图视图时尺寸(宽度和高度)为零除外 不幸的是,尽管我试图在创建所有其他UI组件之前推迟初始化,但我似乎找不到创建查看矩形的合适位置。我不想将初始化放在覆盖图的图形中,因为

我正在实现一个基于用户当前查看矩形的惰性覆盖图。查看矩形根据mapview的尺寸进行初始化,如下所示:

Rect viewRectangle = new Rect(0, 0, mapView.getWidth(), mapView.getHeight());
通过调试,地图视图的宽度和高度保持不变(方向改变时除外),初始创建地图视图时尺寸(宽度和高度)为零除外

不幸的是,尽管我试图在创建所有其他UI组件之前推迟初始化,但我似乎找不到创建查看矩形的合适位置。我不想将初始化放在覆盖图的图形中,因为为每个惰性图形调用(通过缩放、平移和RESTful数据刷新触发)创建这些临时对象在理论上似乎效率低下(分配开销和可能触发垃圾收集)

是否存在当mapview的维度从零状态更改时触发的侦听器?我尝试了大量不同的搜索来寻找答案,并通过android文档进行了搜索,但没有结果


欢迎提供任何信息。提前感谢。

我最后在ondraw中为覆盖层做了这项工作

我也检查了不同的方法,但从未找到一个好的解决方案


最好添加一个布尔检查,使代码只执行一次。一定要跟踪方向的变化…

谢谢你的建议!我已经在绘图代码中设置了矩形的尺寸;但我的观点是,尺寸很少改变,因此每次重置矩形的右上角和右下角都是浪费。我们只需要在地图视图实际从零状态更改以及方向更改时设置此信息。是的,我同意,太糟糕了,现在还没有这样的事件。