Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вадя. Встретил твой код на хабре. / 25 сообщений из 109, страница 1 из 5
06.11.2019, 15:46
    #39885833
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя. Вот кусок твоего кода встретил на хабре.
Консультируй.
Тут ошибка что не очишаются файлы блоб в локальном хранилище хрома.
Каждый вызов этой функции создаёт новый здоровый блоб на клиенте.
пример ссылки:
blob: http://localhost:8080/02a0f2dc-8835-41cb-a561-0796347ce613
chrome://blob-internals/

Как исправить?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
function getPic() {
		this.map[mm].getData(new zip.BlobWriter("image/jpeg"), function (fileBlob) {
				this.progress_load.value = mm + 1;
				this.current_files.innerHTML = (mm + 1) + '  из  ' + this.map.length + ' >>  ' + this.map[mm].filename;
				this.filename = this.map[mm].filename;
				
				window.pic = null;
				pic = new Image();
				pic.onload = function (p) {

						this.img.height = p.target.height;
						this.img.width = p.target.width;
						if (p.target.height > p.target.width) {
								this.img.scale = this.st_full_height / p.target.height;
								this.pics.full_height = this.st_full_height;
								this.pics.full_width = p.target.width * this.img.scale;
								this.pics.preview_height = this.st_preview_height;
								this.pics.preview_width = p.target.width * this.st_preview_height / p.target.height;
						}

						if (p.target.height < p.target.width) {
								this.img.scale = this.st_full_width / p.target.width;
								this.pics.full_width = this.st_full_width;
								this.pics.full_height = p.target.height * this.img.scale;
								this.pics.preview_width = this.st_preview_width;
								this.pics.preview_height = p.target.height * this.st_preview_width / p.target.width;
						}


						if (p.target.height === p.target.width) {
								this.img.scale = this.st_full_width / p.target.width;
								this.pics.full_height = this.st_full_height;
								this.pics.full_width = this.st_full_width;
								this.pics.preview_height = this.st_preview_height;
								this.pics.preview_width = this.st_preview_width;
						}


						var h = this.img.height * this.img.scale;
						var w = this.img.width * this.img.scale;
						this.new_img.height = this.current_img.height = h;
						this.new_img.width = this.current_img.width = w;
						this.new_img.top = this.current_img.top = 0;
						this.new_img.left = this.current_img.left = 0;
						this.new_img.x = this.current_img.x = this.pics.full_width / 2;
						this.new_img.y = this.current_img.y = this.pics.full_height / 2;
						this.img.rotate = 0;
						this.cropp.call(this);
				}.bind(this);
				pic.src = urlFactory.createObjectURL(fileBlob, {type: "image/jpeg"});
				mm++;
		}.bind(this), function (current, total) {
//                    console.log(current, total);
		}
		);
}
...
Рейтинг: 0 / 0
06.11.2019, 17:30
    #39885910
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
Код: sql
1.
window.pic = null;

вот это в js не работает что сборка мусора убрала блоб. Так как пишут что ссылка все равно осталась.
Вроде только в java работает.
...
Рейтинг: 0 / 0
07.11.2019, 01:09
    #39886021
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
Тут ошибка что не очишаются файлы блоб в локальном хранилище хрома.
на что влияет?
не замечал влияния на что либо...
window.pic = null;
и это не тут проявляется..
...
Рейтинг: 0 / 0
07.11.2019, 01:09
    #39886022
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
буду исследовать...
...
Рейтинг: 0 / 0
07.11.2019, 07:10
    #39886033
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
на что влияет?
даже если блоб 500 мегов отправлен на сервер, он остается в памяти пока живет window.
Память растет, потом переходит на своп и работает все медленнее.
Нужно каким то образом очищать после отправки так как на клиенте он уже не нужен.
...
Рейтинг: 0 / 0
07.11.2019, 09:38
    #39886057
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
даже если блоб 500 мегов отправлен на сервер, он остается в памяти пока живет window.
Память растет, потом переходит на своп и работает все медленнее.
Нужно каким то образом очищать после отправки так как на клиенте он уже не нужен.
провел исследования:
очистил историю хрома
очистил всё временное с помощью ccleaner.
загрузил зип 1.5гиг 614 файлов
пока загружались - эти блобы отображались в DevTools во вкладке источники.
при переходе на другую страницу и обратно - упоминание об этих блобах теряются...

посмотрел историю - никаких упоминаний о подобном размере, ничего...
Ccleaner не показал какого-либо заметного увеличения использованного хромом места

так что твои опасения напрасны.
про своп - ну тут вопрос спорный - простое "удаление" - это дело сборщика мусора, но как и когда он запускается - это никому не известно.
в инете - много вопросов про удаления блобов, но все они не сказываются на их удалении из "локального хранилища" , по крайне из списка не удаляются.
...
Рейтинг: 0 / 0
07.11.2019, 09:54
    #39886065
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp,

даже во время обработки файлов память не шибко изменяется
...
Рейтинг: 0 / 0
07.11.2019, 10:05
    #39886069
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
пока загружались - эти блобы отображались в DevTools во вкладке источники.
то есть, 614 файлов загрузились и висят в памяти пока загружается 615 ый файл?
- зачем тогда асинхронность в загрузке?
- что делать на сотовых и планшетах где всего оперативы 1 гигабайт?
...
Рейтинг: 0 / 0
07.11.2019, 10:07
    #39886070
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
даже во время обработки файлов память не шибко изменяется

Введи
chrome://blob-internals/
А то термин "не шибко" как то не инженерно)
...
Рейтинг: 0 / 0
07.11.2019, 10:09
    #39886072
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
так что твои опасения напрасны.
ты так в своей техподдержке отвечаешь?
...
Рейтинг: 0 / 0
07.11.2019, 10:12
    #39886074
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
то есть, 614 файлов загрузились и висят в памяти пока загружается 615 ый файл?
ничего не висит - на картинке же видно как изменяется память.
даже сам зиповский файл не загружается полностью.
загружается только список зазипованных файлов с инфой их расположения и прочей информацией.
...
Рейтинг: 0 / 0
07.11.2019, 10:13
    #39886076
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
Код: sql
1.
2.
window.pic = null;
pic = new Image();

этот код НЕ РАБОЧИЙ
Глобальная переменная pic затирается и память не освобождается.
До уничтожения страницы.
...
Рейтинг: 0 / 0
07.11.2019, 10:15
    #39886078
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
PetroNotC Sharp
то есть, 614 файлов загрузились и висят в памяти пока загружается 615 ый файл?
ничего не висит - на картинке же видно как изменяется память.
даже сам зиповский файл не загружается полностью.
загружается только список зазипованных файлов с инфой их расположения и прочей информацией.
ты тупой?
Набери в хроме
chrome://blob-internals/
Что видишь?
...
Рейтинг: 0 / 0
07.11.2019, 10:19
    #39886081
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
chrome://blob-internals/
Что видишь?
открыл - смотрел
ты можешь сам - найти строчки с местом хранения
там есть путь - открой в проводнике (не закрывая хром) увидишь список этих "блобов"
закрой хром и все они пропадут
...
Рейтинг: 0 / 0
07.11.2019, 10:21
    #39886082
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
Глобальная переменная pic затирается и память не освобождается.
До уничтожения страницы.
освобождением памяти занимается сборщик мусора.
когда он запускается - не известно
возможно когда появится необходимость
...
Рейтинг: 0 / 0
07.11.2019, 10:21
    #39886083
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
закрой хром и все они пропадут
молодец программист - закрой exe. и память очистится))))
Итого повтор вопроса. 614 блобов там есть пока качаю и уже перекачал 615?
Да или нет?
...
Рейтинг: 0 / 0
07.11.2019, 10:22
    #39886086
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
освобождением памяти занимается сборщик мусора.
если у объекта нет рабочих ссылок, неуч.
Двойка.
...
Рейтинг: 0 / 0
07.11.2019, 10:24
    #39886087
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
Пришлось самому искать.
Первая ссыль говорит что в js нужен оператор delete переменная.
...
Рейтинг: 0 / 0
07.11.2019, 10:26
    #39886090
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
Первая ссыль говорит что в js нужен оператор delete переменная.
ты думаешь я не нашёл этого?
...
Рейтинг: 0 / 0
07.11.2019, 10:40
    #39886100
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
PetroNotC Sharp
Первая ссыль говорит что в js нужен оператор delete переменная.
ты думаешь я не нашёл этого?
дак вставь. У тебя упрямства выше крыши.
На планшете 1 гиг оперативы
...
Рейтинг: 0 / 0
07.11.2019, 10:42
    #39886103
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp
если у объекта нет рабочих ссылок
это подразумевается само сабой.
даже после delete windows.pic
если откроешь chrome://blob-internals/ ты увидишь список блобов
...
Рейтинг: 0 / 0
07.11.2019, 10:44
    #39886105
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
PetroNotC Sharp
если у объекта нет рабочих ссылок
это подразумевается само сабой.
даже после delete windows.pic
если откроешь chrome://blob-internals/ ты увидишь список блобов
вижу ты начал работать.
Продолжай.
Реши проблему.
Я могу запустить твою функцию при ответе по AJAX.
Напиши её тут.
...
Рейтинг: 0 / 0
07.11.2019, 10:45
    #39886106
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
А то придется идти в js ветку(
...
Рейтинг: 0 / 0
07.11.2019, 10:45
    #39886107
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
PetroNotC Sharp,
на оперативку это не влияет.
но в папке \Google\Chrome\User Data\Default\blob_storage этих файлов , действительно, нет
...
Рейтинг: 0 / 0
07.11.2019, 10:46
    #39886108
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вадя. Встретил твой код на хабре.
вадя
PetroNotC Sharp,
на оперативку это не влияет.
но в папке \Google\Chrome\User Data\Default\blob_storage этих файлов , действительно, нет
щас проверю
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вадя. Встретил твой код на хабре. / 25 сообщений из 109, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]