Я использую скин в своем приложении и загружаю что-то вроде 1,5 Мб изображений в некоторые из видов деятельности. Это не должно быть проблемой .... 1.5 Mb + по умолчанию ~ 6Mb для приложения при загрузке ... однако, все совсем по-другому. каждый png Я загружаю как переносимый в свой макет xmls, умножается на не менее 10 от его фактического размера ...., я написал пример приложения без ничего, кроме черного экрана, и загрузил его один раз без чего-либо на нем и получил родную кучу 5.8Mb, а затем загрузил ее небольшим png размером 25Kb и угадал, что .... 6.25Mb. Я загрузил свое приложение только с кожи, и это началось с 14.5Mb !!!!!!!!skinning моего приложения потребляет огромное количество Mb в родной куче (гораздо больше этого фактического размера изображения)
так что теперь я нахожусь в середине выполнения операции растрового повторного использования после каждого изменения активности.
Это известная проблема с Android? PNG-файлы загружены гораздо большим размером внутри нативной кучи? Есть ли решение, отличное от моего текущего плана?
Спасибо.
Таким образом, единственное доступное решение для меня, не получающее из памяти, - загрузить и переработать каждый большой png при возобновлении и приостановке действия? – iAndroid
Помимо снижения их размера, да в значительной степени. Вы также можете загружать растровые изображения в собственном коде с помощью ndk, это обходит пределы памяти. Но у меня нет опыта в этом, попробуйте немного погулять. Также попробуйте найти [исключение orof outofmemory] (http://stackoverflow.com/search?q=%5Bandroid%5D+bitmap+outofmemory+exception), это исключение происходит часто, когда люди пытаются распределить слишком много памяти с помощью растровых изображений и хорошо документированы (со всеми возможными решениями по уменьшению объема памяти). –
за последние 2 дня Я искал исключение из тюрьмы ... Я думаю, что все это знаю до сих пор ... :) Вот где я понял, что я должен переработать ... думал, что может быть лучшее решение без снижения разрешения изображения (съесть торт и ....). Благодаря! – iAndroid