这是使用处理程序的更好方法。有什么优点。我遇到的所有示例似乎都给出了内联版本。
使用工具Handler.Callback
在类和实现接口方法中。
or
使用内联代码版本
private Handler mHandler = new Handler(){ ....};
这些内联类定义的常用术语是匿名类。
您可以阅读有关这些内容的更多讨论Java/Android:匿名本地类与命名类 https://stackoverflow.com/q/3577013/808940
本质上,主要区别在于可读性、编码速度、重用性和范围。
从资源的角度来看,匿名类的创建可能会导致垃圾收集器的开销,如中讨论的避免创建不必要的对象 http://developer.android.com/guide/practices/design/performance.html#object_creation。我不确定匿名类创建的确切细节,但是,在类上实现接口更有效是合乎逻辑的。
@WilliamTMallard 提供了一个例子NOT去做。在他的示例中,应该在类上实现一个长且语法复杂的处理程序,而不是匿名处理程序,因为在内联定义时更难以读取和编辑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)