гораздо лучше. Вы можете увидеть уникально сгенерированные BLOB-объекты и как часто на них ссылаются. Например, у вас есть ссылка со ссылкой на href и объект со ссылкой на тот же самый BLOB-объект => значение этого двоичного объекта равно 2.
ользуюcreateObjectURL
получить ссылку на локальный файл изображения. Когда я закончу с файлом / изображением, я позвонюrevokeObjectURL
чтобы освободить эту память. У меня все работает нормально, но я просто хочу быть уверенным, что освобождаю всю память, какую только могу.
Мое беспокойство возникло после того, как я осмотрелchrome://blob-internals
стр. По вызовуcreateObjectURL
и используя изображение, я заметил две записи были созданы. Один с URLblob:blobinternal:///d17c4eef-28e7-42bd-bafa-78d5cb86e761
и другие
blob:http://localhost/dbfe7b09-81b1-48a4-87cd-d579b96adaf8
Оба указали на один и тот же локальный путь к файлу. По вызовуrevokeObjectURL
только вторая запись была удалена изchrome://blob-internals
, Почему это происходит, как мне избавиться от другой записи и в чем разница между этими двумя типами?
Кроме того, я видел примеры людей, отозвавших URL еще до использования изображения. Какой эффект это имеет?
Некоторое понимание темы будет высоко ценится! :)
РЕДАКТИРОВАТЬ: Я создал пример наjsfiddle, Итак, сначала откройтеblobinternals и удалите все существующие капли. Затем запустите пример jsfiddle и выберите файл изображения на своем компьютере. Затем обновите blobinternals, чтобы увидеть, что он добавил. Затем нажмите «отозвать URL» в моем примере. Наконец обновите blobinternals, чтобы увидеть, какие пятна остаются.