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 Имя источника для растрового изображения. Может быть нулевым