Мое встроенное хранилище данных ключа/значения могло в конечном счете превысить предел Механизма Приложения?

Вы можете использовать Средство просмотра байт-кода Kotlin , чтобы узнать, для чего эти опции скомпилированы.

В Kotlin 1.0.2 скомпилированный байт-код показывает, что свойство

  1. val в object или companion object скомпилировано в поле private static final внутри класса:

     // access flags 0x1A
     private final static I FILES_TO_DOWNLOAD = 100
    

    и геттер, который вызывается при обращении к свойству:

     // access flags 0x1019
     public final static synthetic access$getFILES_TO_DOWNLOAD$cp()I
    

    Из Java геттер может называться DefaultValues.INSTANCE.getFILES_TO_DOWNLOAD() или DefaultValues.Companion.getFILES_TO_DOWNLOAD() соответственно.

  2. Свойство верхнего уровня, не относящегося к const, компилируется в то же самое в (1) с той лишь разницей, что поле и геттер теперь помещены в класс FilenameKt.

    Но верхний уровень const val компилируется в поле public static final:

    // access flags 0x19
    public final static I DEFAULT_FILES_TO_DOWNLOAD = 100
    

    Такое же общедоступное статическое конечное поле будет создано, когда const val объявлено внутри объекта. Кроме того, вы можете получить тот же результирующий байт-код, если добавите аннотацию @JvmField к свойствам, объявленным в (1) .


Таким образом, вы можете определить поле public static final, используя const или @JvmField, либо в object, либо на верхнем уровне.

1
задан David Underhill 21 July 2010 в 19:38
поделиться

1 ответ

Размер объекта DataStore App Engine ограничен 1 МБ. Вы не сможете сохранить более крупную сущность.

Бесплатная квота для DataStore составляет 1 ГБ. Если вы превысите его с отключенным биллингом, вы не сможете сохранять новые объекты или увеличивать существующие объекты. Если у вас включена оплата, с вас будет взиматься плата за дополнительное хранилище.

Ограничение для статических файлов App Engine составляет 10 МБ. Статический файл не может быть изменен вашим приложением, его можно только повторно загрузить или удалить с помощью инструмента appcfg.py. Вы не сможете загрузить файл размером более 10 МБ.

2
ответ дан 3 September 2019 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: