Android getTextBounds()

时间:2013-12-16 09:27:42

标签: android

快一点 - 将函数定义为

的优点是什么
public void getTextBounds (String text, int start, int end, Rect bounds)

结果在bounds中返回,而不仅仅是

public Rect getTextBounds (String text, int start, int end)

据推测,这是出于某种特定原因,从初学者的角度来看,这似乎是用Java编写函数的一种不寻常的方式

1 个答案:

答案 0 :(得分:0)

第一种方法重用已存在的Rect对象实例,只更改其内部值,第二种方法每次调用时都会创建一个 new 实例。

如果需要多次获取文本边界 - 例如,如果替换动画中的文本 - 系统会在每帧创建新实例,然后对其进行垃圾收集,这与重用相同一个例子。

另一方面,如果您只需要获取一次边界,那么第二个更实用,因为您保存了一行代码。