2017-03-06 95 views
0

我有一个关于处理按钮点击事件的问题。 我已经看过this articleAndroid - 性能处理按钮点击事件之间的差异

我知道的代码,造型,可读的区别......但我不知道在表现这两种方式的区别:

  • 第一种方式:

    buttonA.setOnClickListener(this)。

  • 第二种方式:

    buttonB.setOnClickListener(新View.OnClickListener(){ @覆盖 公共无效的onClick(视图v){// 要做些什么 }} );

有没有人发现了这一点?

+0

对不起,您的文章只是比较两种方法,不是我需要知道的答案。我编辑我的问题 –

+0

[OnClick()事件和OnClickListener之间的区别?](http://stackoverflow.com/questions/7453299/difference-between-onclick-event-and-onclicklistener) –

回答

3

如果有一个你不应该担心它,因为它很小。 可读性更重要。

'第二个'方法创建一个更多的对象。

0

第二种方法是创建新的View.OnClickListener,对象需要时间来创建,并使用内存来保持它们可用。我想避免在我的类中实现监听器,我更喜欢使用匿名类(第二种方法),如果我必须在很多地方使用监听器,而不是创建保存它的字段。

0

第一种方法实现OnCLickListener类,而第二种方法创建Anonymous类。
第一种方法将导致您的代码更加组织和整齐,但如果您有多个按钮,则必须向OnCLick方法添加更多代码。
而在匿名类中,每次发生点击事件时,都会创建一个新对象,这实际上不会影响性能。效果可以忽略不计。但是由于对象是动态创建的,这意味着一旦对象不再使用,垃圾收集器就会释放关联的内存。

总之,他们的表现几乎可以忽略不计。决定使用哪一个主要取决于您的需求/要求。