至少它正在做我想要它做的事情(在运行时将我的视图居中)但为什么它一遍又一遍地做呢?我的理解是,当视图树有东西要绘制时应该调用它,它不应该每秒多次。在这里我正在记录它的电话
为什么即使屏幕上什么都没发生,OnPreDraw()也会反复调用?表演太糟糕了?我只希望在实际绘制某些内容时调用它。
视图location_manager是操作栏的一部分,如果重要的话。
答案 0 :(得分:4)
如果您只想让它被调用一次,则需要删除OnPreDrawListener
方法第一行中的onPreDraw()
:
myView.getViewTreeObserver().removeOnPreDrawListener(this);