保持国家在毕加索的转型中

时间:2015-03-19 17:21:39

标签: picasso

我需要在转换中应用不同的边框厚度。也就是说,GridView中每个单元格的左侧可能是10dp,顶部是8dp等。

我有一个Transformation,其中包含我使用Canvas绘图基元在transform中应用的厚度的局部变量。这一切都有效,而且正在进行绘图。

我的问题:因为每个转换都有不同的参数,这意味着我必须为每个单元格(在我的适配器中)创建一个新的转换,设置其属性并将其传递给Picasso构建器。

我在其他地方读过,不应多次创建转换,并且可以重复使用它们。但是在我的场景中这并不可能,因为每次转换都有不同的状态。

我是否正确行事和/或最好的方式来实现我想要做的事情?

感谢。

1 个答案:

答案 0 :(得分:1)

如果值是真正动态的,则必须为每个调用创建一个新实例。这不是世界末日,它只是一个小的分配。大多数变换器都是完全无状态的,重用同一个实例是有意义的。

您也可以汇集这些对象,但它不必要地复杂化。您必须处理请求加入,取消以及它们如何被使用的异步性质。除非成为问题,否则只需支付分配费用。

如果值的范围有限,或者您反复使用相同的值,则可以在地图中缓存这些实例。