Android, Drawable.createFromStream(это 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  }

Вы попадаете туда, следуя коду Drawable:

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

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

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

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

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

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

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

public class NinePatch

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

Параметры:

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

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

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

Другие вопросы по тегам