在我的自定义视图中,我正在考虑使用Canvas.getClipBounds()来优化我的onDraw方法(这样每次调用时只绘制必要的内容)。
然而,我仍然希望绝对避免任何对象创建...
因此,我的问题是:每次调用
如果它分配了一个新的对象,那么我可以通过使用
(在你大喊过早优化之前,请考虑当它放置在ScrollView中时,onDraw可能每秒被调用多次)
然而,我仍然希望绝对避免任何对象创建...
因此,我的问题是:每次调用
getClipBounds()
时,是否会分配一个新的Rect?还是它只是回收一个单一的Rect?如果它分配了一个新的对象,那么我可以通过使用
getClipBounds(Rect bounds)
来节省这个开销,它似乎使用传递的Rect而不是它自己的Rect。
(在你大喊过早优化之前,请考虑当它放置在ScrollView中时,onDraw可能每秒被调用多次)