square/picasso — pull request #441 by jfsso (2014-03-15 04:37:37+00:00)
Title: Thread safe key creation.

In some cases StringBuilder will lead to fatal crashes (ArrayIndexOutOfBoundsException) when multiple threads are trying to create a key at the same time.

This is more likely to happen when an app makes calls to fetch() from a background service while also using into() from the main thread.

The solution I'm proposing here is to rename the misleading static final variable and synchronise the key creation method. This will keep the reuse of StringBuilder to reduce GC as introduced with d8f134b .