Android, Drawable.createFromStream(is, srcname): что означает второй параметр?

В чем смысл второго параметра метода Drawable.createFromStream()?

Из API Android я получаю только:

public static Drawable createFromStream (InputStream is, String srcName)
Create a drawable from an inputstream

Во всех примерах, которые я прочитал, я вижу, что они используют строку "src": это имя каталога, в котором кэшируется кэширование, относительно моего корневого каталога приложения?

Один параллельный вопрос: где я должен найти исходные источники Android (например, метод Drawable.createFromStream()...), чтобы избежать таких глупых вопросов в будущем?

Ответ 1

Это в основном бесполезно:

Основываясь на источнике Froyo, он используется при создании изображений с девятью патчами с ресурса, но не при создании регулярного растрового изображения:

852 private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,
853         Rect pad, String srcName) {
854
855     if (np != null) {
856        return new NinePatchDrawable(res, bm, np, pad, srcName);
857     }
858
859     return new BitmapDrawable(res, bm);
860  }

Вы попадаете туда, следуя графику:

createFromStream возвращает:

return createFromResourceStream(null, null, is, srcName, null);

который, в свою очередь, использует:

return drawableFromBitmap(res, bm, np, pad, srcName);

(np происходит от Bitmap#getNinePatchChunk();), и это вызывает:

return new NinePatchDrawable(res, bm, np, pad, srcName);

Наконец, вы попадаете в объявление NinePatch:

public class NinePatch

Создайте растягиваемую проекцию из растровое изображение до девяти патчей.

Параметры

bitmap Растровое изображение, описывающее патчи.

chunk Блок данных с 9 патчами, описывающий, как базовое растровое изображение разделяется и нарисовано.

srcName Имя источника для растрового изображения. Может быть null.