试图为此提出一个有意义的问题标题是很棘手的。我会准确地解释我想要做什么。
我创建了一个 Android 图形库,可以构建一个可能很大的Path
对象列表。我现在需要为每个Path
. 为此,我简单地进行了子类化Path
(调用它PathSubclass
)以提供额外的扩展数据字段。在一般用例中,只有极少数Path
对象实际上会有额外的数据集。例如,可能有ArrayList
几千个Path
,但只有少数有额外的数据。在我开发库时,我想附加到每个库的额外数据量可能是Path
会大幅增长。我很欣赏这可能是过早的优化,但我担心当附加数据很少填充并且使用该对象的相当大的集合时,将对象子类化以包含一些附加数据是无效的。
我想做的可能是开设一个ExtendedPathData
与我的子类分开的课程Path
。因此,每个Path
子类只因需要一个mExtendedData
成员而有点膨胀,在许多情况下null
,除了那些Path
需要额外数据的极少数对象外。我想这类似于View
使用该方法通常将附加数据附加到 a 的setTag()
方式。
是否有任何其他方法我应该考虑,因为任何原因更好?