![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос | Заплачу за решение | Новые сообщения Сообщения за день | Расширенный поиск | Правила | Всё прочитано |
![]() |
|
Опции темы |
![]() |
#1 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 11
Репутация: 10
|
![]()
Добрый день. Создаю приложение - просмотрщик фотографий. Столкнулся с такой проблемой, что при загрузке изображений под каждый мегабайт изображения в оперативной памяти выделяется 10 Мб. Т.е. у меня папка с 60 картинками (занимает 25 Мб на диске) при открытии в приложении занимает 250 МБ.
Сам класс для хранения фотографий выглядит следующим образом: Код:
|
![]() |
![]() |
![]() |
#2 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 17,753
Репутация: 3426
icq: 512-765 skype: alexp.frl |
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 11
Репутация: 10
|
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 11
Репутация: 10
|
![]()
Если это поможет, то загружаю фотографии по такому принципу:
Код:
|
![]() |
![]() |
![]() |
#5 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 17,753
Репутация: 3426
icq: 512-765 skype: alexp.frl |
![]()
Тут просто строки, тут неоткуда 10 МБ взяться.
Скорее всего это нормально потому что в памяти они хранятся не в виде JPG, надо смотреть на размер (в пикселях), будет примерно ширина*высота*4 байтов. (4 — ARGB) Если вам нужны только маленькие превью, то создавайте их сами (грузите по 1 картинке и уменьшайте перед выводом, освобождайте память занятую исходной). |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 01.06.2015
Сообщений: 11
Репутация: 10
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#7 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 17,753
Репутация: 3426
icq: 512-765 skype: alexp.frl |
![]()
Там кеш какой-то есть, может оно не грузит копию снова.
https://referencesource.microsoft.co...mapFrame.cs,63 —> https://referencesource.microsoft.co...Decoder.cs,284 |
![]() |
![]() |
![]() |
#8 |
ПрофессионалФорумчанин
Регистрация: 22.05.2007
Сообщений: 9,460
Репутация: 3616
|
![]()
Изначально проблема была в том, что на диске лежат jpeg, а в программе всё равно идёт bmp, вот отсюда и размер большой. В приведённых примерах кода вообще нет никаких картинок и не откуда там браться потреблению памяти. Или что-то не то запускаете или баг какой-то.
ЗЫ. Уверены, что нужно Uri использовать? На входе ж всё равно строка, а Uri лишнее место занимает и на некоторых путях может поломаться.
__________________
http://coub.com/view/2hhtg |
![]() |
![]() |
![]() |
Опции темы | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
замена оперативной памяти | jakubad | Железо | 5 | 22.02.2017 17:24 |
Задача-найти объем оперативной памяти по шестнадцатеричному адресу последнего байта оперативной памяти | Ksana Alex | Помощь студентам | 4 | 14.11.2013 15:51 |
Восстановить из оперативной памяти | Problemaumenya | Помощь студентам | 1 | 08.05.2008 23:01 |
Текстирование оперативной памяти | arxipmen | Assembler | 6 | 23.11.2007 15:30 |
выделение оперативной памяти | Alar | Общие вопросы Delphi | 0 | 29.10.2006 22:56 |
|
|