4
所以我正在开发一个android应用程序。我遇到了Color
班。我看到它的一种方法是colorToHSV
。就这个名字而言,我认为它会返回一个浮点数组(HSV)。但是,它返回无效!它接受一个数组作为参数!我认为它会修改传入的数组。但为什么它必须这样做?只需返回一个数组!我也在readBooleanArray
的Parcel
中看到这种模式。为什么Android SDK中的某些方法接受数组作为参数而不是返回数组?
为什么它声明这样的方法?这是某种模式吗?
但是为什么特别要数组?为什么它不是这样做的一切? – Sweeper
@Sweeper:尝试调整Android API以尽量减少分配不限于数组。在某些情况下,Android本身强制执行回收(例如'SensorEvent')。在某些情况下,Android明确鼓励回收(例如'Bitmap','AttributeSet')。请注意,虽然'Parcel'('readBooleanArray()')引用的一个方法需要一个数组,但'Parcel'上的其他方法需要其他集合(例如'readList()')。由于我没有写这些课,所以我不能给你比这更具体的动机。 – CommonsWare
感谢您的回答! – Sweeper