Я создал пользовательский интерфейс, богатый изображениями PNG для приложения Xamarin для Android, в основном изображения назначаются декларативно в макетах AXML и имеют размер от 5 КБ до 100 КБ, к сожалению, после запуска приложения и навигации между действиями на время, когда приложение вылетает с сообщениями в LogCat, в которых упоминаются проблемы с памятью, как следуетXamarin: проблема с памятью
02-14 21: 01: 34.856: E/dalvikvm-heap (18277): Недостаточно памяти на 4320016 байт распределение.
02-14 21: 01: 34,876 D/Skia (18277): --- распределение потерпело неудачу для масштабируемого битового массива
Кроме того, когда я контролировал приложение с помощью Xamarin Profiler, я обнаружил, что диаграмма распределения памяти идет (хотя я использую метод Finish для его закрытия), а это означает, что память, потребляемая этой деятельностью, не освобождается!
Любая идея в чем проблема?
Размер файла не имеет значения. Я могу сделать 10K-файл, который требует больше оперативной памяти, чем 1MB-файл. Какой размер растровых изображений? Вы перерабатываете растровые изображения в onStop()? – Simon
Я предполагаю, что по размеру растрового изображения вы имеете в виду размер ImageView или View с использованием изображений, я использую много изображений в качестве фона, так что это весь размер экрана, некоторые фоны непосредственно используют PNG-файлы, а другие используют файлы xml для плит PNG-изображение. Изображения присваиваются представлениям декларативно, поэтому я не уверен, как их перерабатывать. – Sisyphus
Эффективно отображая http://developer.android.com/training/displaying-bitmaps/index.html, убедитесь, что ваши растровые изображения имеют право на сбор. Вы можете сделать еще один шаг со слабыми рекомендациями. http://stackoverflow.com/questions/28519203/xamarin-out-of-memory-issue –