Какова лучшая практика для revokeObjectURL, и действительно ли это нужно называть?
Я нахожусь в процессе написания расширенной функции загрузки изображений для сайта. В попытке разрешить выполнение всей конфигурации изображения ПЕРЕД потерей времени и ресурсов клиента и сервера, загружающих изображения на сервер, я пытаюсь использовать функции HTML 5 для поддержки полностью клиентского набора функций с массовой загрузкой после всей обрезки изображения и другое редактирование было выполнено.
У меня есть область перетаскивания на моей странице, которая позволяет перетаскивать несколько файлов, чтобы фактически выбрать изображения для редактирования. По капле я создаю список графических редакторов (используя window.URL.createObjectURL
), с некоторыми полями формы, простым предварительным просмотром извлечения метаданных, и я прикрепляю Jcrop к каждому изображению. У меня проблема, когда я прикрепляю Jcrop. Несмотря на то, что я прикрепляю функцию обрезки перед тем, как отозвать URL с призывом window.URL.revokeObjectURL
Jcrop, кажется, не пытается получить доступ к URL, пока не слишком поздно, и я в конечном итоге с отсутствующими изображениями.
Я прибег к тому, чтобы вообще не вызывать revokeObjectURL, и это позволяет всему работать... однако я не уверен, что не вызывает отзыв на использование ресурсов. Это учитывает потенциальную утечку памяти? Приводит ли обновление страницы к тому, что URL-адреса не отмененных объектов освобождаются и их ресурсы возвращаются?
0 ответов
Предполагая, что реализованная здесь функция перетаскивания получает только указатель на локальный файл, отказ от отзыва URL-адреса не является большой проблемой.
С другой стороны, если создается капля изображения, то следует учитывать память, если URL не отозван.