Articles of Управление памятью

Как избежать OutOfMemory ex во время поворота изображения?

public static boolean rotateBitmapByExifAndSave(File targetFile){ if (targetFile==null || !targetFile.exists() || !targetFile.canRead() || !targetFile.canWrite()) return false; boolean isSucceed = false; // detect if photo is need to be rotated try { final Matrix matrix = new Matrix(); ExifInterface exifReader = new ExifInterface(targetFile.getAbsolutePath()); int orientation = exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1); boolean isRotationNeeded = true; switch (orientation) { case ExifInterface.ORIENTATION_ROTATE_90: […]

Как Android OS рассчитывает использование памяти в приложении?

Я имею в виду использование памяти приложения, отображаемого в меню «Настройки»> «Приложение»> «Запуск». Почему этот номер намного отличается от размера кучи приложения в DDMS? Например, на картинке OS говорит, что мое приложение использует 151 МБ (включая службу Google PLAY), но DDMS говорит, что используется только 40 МБ памяти. И второй вопрос: Google Analytics Service использует […]

Как получить надежную информацию о памяти на мобильных устройствах?

В настоящее время я работаю над приложением, которое работает на iOS и Android. Ядро приложения написано на C ++ и со временем выделяет все больше и больше памяти. Дело в том, что я хочу, чтобы в то же время было возможно использовать как можно больше памяти и обеспечить стабильность приложения. Конечно, для этого мне нужно […]

Android: PSS (пропорциональный размер набора)

Я пытаюсь понять, как рассчитывается PSS, – это Android. Я нашел одну статью, в которой говорится следующее. «Пропорциональный размер набора» (PSS) процесса – это количество страниц, которое у него есть в памяти, где каждая страница делится на количество процессов, разделяющих ее. Поэтому, если процесс имеет 1000 страниц для себя, а 1000 разделяет один другой процесс, […]

Как найти использование памяти моего приложения для Android, написанного на C ++, с использованием NDK

Я переношу игру, написанную на C ++ на Android, используя NDK. Мне нужно знать, сколько памяти он потребляет во время работы. Я ищу программный способ найти использование памяти приложения Android, написанного на C ++.

Преобразование целого числа в строку без выделения памяти

Я испытываю случайные задержки в моей игре на Android, когда работает сборщик мусора. Я запустил DDMS и обнаружил, что вся память, выделяемая моим приложением, из этой строки: scoreString = String.valueOf(score); Каков наилучший способ преобразования целого в строку без выделения какой-либо памяти?

Загрузка ресурсов изображения в виде RGB 565

Я пытаюсь снизить использование памяти в своем приложении, и я заметил, что большинство из них вызвано фонами деятельности: в XHDPI, 720 * 1280 * 4 = 3,6 Мбайт каждый, и Android, похоже, не выпускает их как Как только они больше не используются. Есть ли способ сказать Android загрузить определенные изображения ресурсов как RGB 565 вместо […]

Android 2.3 имеет более низкий бюджет VM, чем 2,1 и 2,2?

Похоже, что Android 2.3 имеет гораздо меньший бюджет VM, чем 2,1 и 2,2. Я удивлен тем, что более новая ОС более ограничительна, я ожидаю, что из-за развития технологии нужно иметь большее распределение памяти для приложения (бюджет VM). Из-за этого я не могу хранить в памяти большие растровые изображения, что важно для приложения обработки графического изображения, […]

Как обнаружить утечку памяти

Я столкнулся с некоторыми проблемами, связанными с исключением MemoryOutOfBounds в android. Я нашел, что есть две причины этого (1) Созданные темы живы и нигде не уничтожены (2) Утечка памяти. Мы можем обнаружить информацию о потоке в затмении. Но как узнать, в какой строке происходит утечка памяти кода при выполнении моего приложения. MAT работает по-разному. MAT […]

Как я могу узнать, сколько памяти мое приложение использует из своего бюджета VM?

Я смотрел в DDMS, но ничего не видел. Благодарю.