使用静态嵌套类在我的MyAdapter扩展RecyclerView.Adapter中的优点是什么:
static class MyVH extends RecyclerView.ViewHolder {...}
使用成员内部类的这种方法:
class MyVH extends RecyclerView.ViewHolder {...}
或者它不会影响性能,两种方法都可以使用吗?
使用静态嵌套类在我的MyAdapter扩展RecyclerView.Adapter中的优点是什么:
static class MyVH extends RecyclerView.ViewHolder {...}
使用成员内部类的这种方法:
class MyVH extends RecyclerView.ViewHolder {...}
或者它不会影响性能,两种方法都可以使用吗?
这更像是一个Java问题而不是一个Android问题。如果您要将其实例从类中取出,则建议对内部类使用static,以避免内存泄漏。您可以查看这篇很棒的文章,讲解了内部类的内存泄漏。
基本上nyx所说的:
回答您的性能问题,您可以查看这个答案。静态类的内存占用量比另一种类型的类少,但再次,我们谈论的是会回收实例的recyclers,因此内存影响并不是个问题。
使用 static 就意味着您可以在其他适配器中重复使用 MyVh
。如果您确定只需要在那一个适配器中使用 MyVh
,那么应将其设为非静态。
如果您需要在其他适配器中使用它,甚至最好将其创建为完全独立的类,而不是嵌套类。
对于静态与非静态,性能没有影响!