我们应该为OnClickListeners或内部命名类使用匿名类吗?

AAn*_*kit 7 java android

我的活动中有很多按钮,我有以下问题:

  1. 我应该为每个按钮为OnClickListeners创建多个内部匿名类,如下所示:

    private View.OnClickListener mShuffleListener = new View.OnClickListener() {
        public void onClick(View v) {
            /// task to do
        }
    };
    
    Run Code Online (Sandbox Code Playgroud)
  2. 或者我应该去一个命名的内部类并添加一个if条件来检查调用哪个点击监听器.

哪一个更好地节省内存资源?

Ste*_*n C 7

哪一个很酷,以节省内存资源?

它几乎没有任何区别.最多1个字......这就是将静态内部类与(非静态)匿名类进行比较.如果您有数百个这样的按钮,那么小的保存就不值得代码可读性/可维护性损失,甚至(IMO).

  • 1)只有它们是"静态的".如果没有,就没有储蓄.2)大概是14*4字节.这是一个令人担忧的可笑内存.3)如果你有一个64位的Android平台,因此有8字节的引用,这更加荒谬. (3认同)