Я планирую приложение, которое будет включать в себя загрузку множества картинок за один раз и, следовательно, потребует большой кусок памяти.Например, я мог бы создать сразу 50 объектов изображений, занимая всего 1 ГБ ОЗУ.Но когда пользователь загружает еще 20 изображений, я хотел бы убедиться, что объем памяти уже зарезервирован и готов.
Теперь эта часть может показаться немного отстойной от нормальной.Вместо того, чтобы указывать, сколько памяти должно резервировать мое приложение, я должен указать, сколько памяти оставить свободным для других приложений, и периодически корректировать память моего приложения в соответствии с этой спецификацией.Должен сказать, что я вообще никогда не работал с резервированием памяти, и особенно не знаю, как оставить эту оставшуюся доступную память.
Так, например, если на компьютере установлено 2048 МБ ОЗУ, а также опциянастроено оставить 50 МБ свободными для других приложений, и уже 10 МБ ОЗУ используется другими приложениями, тогда для моего приложения должно быть зарезервировано 2048-50-10 = 1988 МБ.
Проблема, которую я предвиделПредположим, пользователь открывает другое приложение, которое требует 1 ГБ.Мое приложение должно поймать это и уменьшить себя.
Это звучит как выполнимый подход?По сути, мне нужно убедиться, что в любой момент времени зарезервировано как можно больше памяти, при этом оставляя приличный объем доступным для других приложений.Повлияет ли это на производительность, если я это сделаю, или не сильно?Возможно, я загружаю и выгружаю изображения быстрыми темпами, и я не хочу, чтобы они резервировали / освобождали эту память по требованию, я хочу, чтобы она оставалась зарезервированной.