我开始在我的Android应用程序中使用ButterKnife,只是为了查看它与“ findViewById”之间的区别,我发现UI有点呆滞,打开活动或片段时会有一个小滞后。 黄油刀会产生这么小的滞后吗?
答案 0 :(得分:0)
不,不是。让我们检查一下id在幕后的作用。它使用注释接口,使相同的事情,只是在编译时间不同(当构建的文件缓存为空时)不同。
每个Bind
注释与通常查找具有ID的View并保存到本地视图ID的集合的功能相同。这很简单,因为那里没有什么特别的。只需检查自定义接口的实现,您就可以自己实现简单的Butterknife
。
答案 1 :(得分:0)
Butterknife使用编译时注释,这意味着在运行时没有任何额外成本。不是缓慢反射,而是提前生成代码。调用绑定委托到您可以查看和调试的此生成的代码。这意味着Butterknife完全不会降低您的应用程序的速度! (Source)
这应该澄清您的担忧。必须有另一个导致您落后的问题。也许可以使用CPU Profiler进行分析,以找出原因。