Как получить минимальные требования к оборудованию для приложения для Android

Я с некоторым членом команды разрабатываю одно приложение для Android, которое собирает данные в поле на мобильных устройствах.

Теперь это приложение будет выпущено. Таким образом, люди будут использовать это приложение. Нам также необходимо создать одну документацию, которая объяснит все, что будет представлено в моем приложении для Android, и минимальное требование к оборудованию для запуска этого приложения без ошибок.

Теперь, как я знаю, что является минимальным требованием к оборудованию.

В основном в моем приложении около четырех TextField, Три Spinner, Date, EditText и два ImageView.

Итак, как я знаю, что минимальное требование к памяти для запуска этого приложения.

Я попробовал это приложение на одном из мобильных устройств, где почти вся память используется каким-либо другим приложением. Там мое приложение не смогло захватить фотографию. И когда я удаляю какое-то приложение, мое приложение работает нормально.

Вот почему я хочу знать, что является минимальным требованием к памяти для запуска моего приложения.

Ответ 1

Минимальные требования будут зависеть от и в основном включать тестирование и документацию по следующим пунктам:

  • Уровень API. Минимальная поддерживаемая версия для Android, в основном известная разработчику. Между API в андроиде было много серьезных изменений. Поддержка библиотек v4 и v7-compat очень помогает, но они не охватывают всех аспектов.

  • Возможности устройства. Обратите внимание на все функции, которые использует ваше приложение. (например, сенсорный экран, камера, акселерометр, сетевое подключение и т.д.). К счастью, вы можете объявить, что в манифесте приложения (uses-feature) и в магазине воспроизведения будут отфильтрованы неподдерживаемые устройства.

  • ОЗУ: используйте DDMS/Android Studio, чтобы видеть использование памяти в реальном времени, на эмуляторе и на реальном устройстве. Попытайтесь использовать столько же, сколько вы можете использовать, запуская различные функции приложения, продолжайте работать в течение долгих промежутков времени. Оцените это минимальное и максимальное использование. Инструменты DDMS, такие как TraceView и т.д., Также позволяют видеть распределение объектов в куче, потоках и профилировать методы. Запустите Monkey Tool в течение длительного времени, чтобы подчеркнуть приложение.

  • Скорость процессора: IF. В приложении реализованы интенсивные вычисления, преобразование данных и т.д., вы можете запрограммировать журналы временных меток в таком вычислительном коде. Удостоверьтесь, что вы устанавливаете скорость процессора так, чтобы все вычисления были выполнены, завершается в течение достаточного времени, не слишком сильно задерживая устройство. Также в случае визуального рендеринга (игры) основной частотой является хорошая частота кадров. В этом случае вы можете тестировать реальные устройства для частоты кадров и выбирать высокопроизводительные чипсеты. Вы также можете рекомендовать пользователям многоядерные устройства.

  • Совместимость с CPU/GPU. Еще одна важная деталь: если приложение имеет код C/С++, этот код может не работать на некоторых типах CPU (MIPS, ARM или x86), То же самое верно для приложений с использованием версий OpenGL ES и доступных расширений. У устройств действительно есть разные чипы CPU/графические чипы.

  • Диск. Оцените размер приложения после установки. Обратите внимание, что минимальное требование к диску для приложения - это пространство, необходимое для хранения самого приложения, чтобы оно могло, по крайней мере, и не включает в себя кеши, базы данных или пользовательский контент, который он создает при использовании.

  • Размер дисплея. Хотя рекомендуется гибкий и гибкий пользовательский интерфейс, ваше приложение может использоваться только с определенными размерами экрана. Таким образом, можно принимать во внимание совместимые размеры экрана.

  • Что вы не можете контролировать. Помните, что у вас нет контроля над тем, что может использовать другой пользователь приложения, поэтому его можно объявить, что ваше приложение требует такого бесплатного устройства на устройстве, и, предположив лучший сценарий, объявите, что на устройстве установлено, по крайней мере, столько же установленных башен. Например, вы отметили, что приложение занимает 200 мб при максимальном выходе, поэтому требование будет только для устройств с 512 Мбайт+. Кроме того, вы не можете контролировать, какой размер будет иметь пользователь sd-card, поэтому приложение должно оперативно сообщить пользователю, что оно не может функционировать, когда диск заполнен.

Наконец, хорошее тестирование - это то, что превращает оценки в реальные тесты. И лучше использовать базовые требования к бенчмаркам вместо того, чтобы оценивать только.

UPDATE

Есть ли какой-либо API или класс от android, которые предоставляют информацию о том, что минимальное требование к памяти в зависимости от того, как поля могут быть использование в моем приложении и какое разрешение я принимаю мобильный телефон.

  • API не может точно предсказать время выполнения. В вашем коде будет много if и else, а также вход пользователя, вы не можете предсказать, какой именно путь будет создан и будет выполняться. Вы можете отслеживать только внешнюю среду выполнения с помощью таких инструментов, как DDMS.

  • В отличие от Apple, Android - это открытая система, возможности аппаратного обеспечения, которые производители свободно выбирают, являются массовыми. Добавьте к ним настройки, которые они выполняют в своих ПЗУ устройства. Нет общего API, который будет отслеживать все это. Просто придерживайтесь API Android и стандартных спецификаций, избегайте использования скрытого API и т.д.

Ответ 2

Вопрос: вы должны спросить себя.

1. Каковы мои требования к памяти? Вам нужно много памяти (не физически в куче) для обработки данных или это минимально? В настоящее время большинство устройств поставляются с размером кучи размером 64 МБ, но это варьируется от производителей до производителей. Даже для того же уровня API он отличается. Узнайте свой минимум, а затем убедитесь, что у вас есть доступная память кучи.

Чтобы контролировать память, которую вы потребляете во время проверки, this

чтобы узнать, сколько памяти кучи доступно на текущем устройстве, проверьте this и это.

Помните, что Android не похож на окна, и каждое приложение запускается с таким же количеством памяти кучи, и оно постоянно для каждого приложения на этом устройстве. Это означает, что приложениям не разрешается расти за пределами этой доступной памяти. Вы можете запросить дополнительную память этим тегом в манифесте android:largeHeap="true", но эта функция недоступна для версии 3.0 версии 3.0.

Я попробовал это приложение на одном из мобильных устройств, где почти вся память используется каким-либо другим приложением. Там мое приложение не смогло захватить фотографию. И когда я удаляю какое-то приложение, мое приложение работает нормально.

Выше предположения довольно сбивают с толку, потому что, когда ваше приложение под управлением Android добавит все другие стороны приложения, это означает, что ваше приложение будет иметь память, определенную вами размером кучи, и если ОС сочтет нужным больше памяти или не сможет выделить больше, это убьет тех обработать. Android дает высокий приоритет заданию, выполняемому в настоящее время. Поэтому, если вы взаимодействуете с приложением, маловероятно, что у него будет меньше памяти, чем размер кучи. у них может быть какая-то другая причина для проблем с другими приложениями.

2. Каковы мои требования к API? Если вы используете какой-либо специальный API, который недоступен для более старого API и уровня, тогда у вас есть два варианта, или вы говорите, что приложение просто не собирается поддерживать эту версию API, или вы можете вернуть порт этой конкретной функции.

3. Каковы мои требования к оборудованию? Спросите себя, используете ли вы какое-либо специальное программное обеспечение или аппаратное обеспечение, если это специальное устройство доступно для всех устройств или нет? Пример: NFC, bluetooth.

4. Каковы мои требования к отображению? Является ли это приложение только для мобильных устройств или для мобильных и планшетов? Что касается этих 7 дюймов, которые попадают между планшетом и мобильным телефоном.

5. Каковы мои требования к локализации? Это приложение полагается на любой специальный набор символов? Что делать, если какое-то устройство не имеет этих символов.

И сумма FYI объекта, о которой вы упомянули, не должна занимать больше нескольких МБ. Но осторожно при работе с растровым изображением. Прочтите это

Ответ 3

Кажется, что любой процесс в Android будет иметь как минимум 16 МБ памяти, большинство современных устройств позволяют кучи расти до 24 + МБ

см. описание http://developer.android.com/reference/android/app/ActivityManager.html#getMemoryClass()

Управление памятью все на стороне ОС, и есть приоритеты для процессов и потоков, описанных в http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle

поэтому, если ваше приложение находится на переднем плане, скорее всего, у вас достаточно ресурсов для обработки изображения с камеры.

какой API вы используете для захвата изображения?

Ответ 4

Лучший способ узнать, будет ли ваше приложение работать на определенном оборудовании, - это протестировать это оборудование. Спросите своих друзей, есть ли у них старые телефоны для Android, и проверьте их на них.

В худшем случае создайте несколько виртуальных устройств Android с разной памятью. Остерегайтесь, однако, эмулятор android неутешительно медленный, даже с аппаратным ускорением.

Ответ 5

Как говорит @veon, вы можете сделать некоторые оценки. Тем не менее, это всегда будет немного непредсказуемо, потому что вы хотите знать, сколько он будет использовать в разных контекстах, и вам понадобятся пользователи, которые будут знать использование других приложений на своих телефонах.

Как я понимаю, то, что вам в первую очередь необходимо предоставить, - это четкая документация. Это может быть намного проще (для вас и каждого) документировать его следующим образом:

Это приложение будет работать на всех последних стандартных телефонах Android (версия для Android XXX и выше). Однако, если другие приложения работает, в частности, голодные головоломки работают, это производительность может быть затронута. Если у вас проблемы с производительностью, удалите другие приложения, которые являются памятью и процессами тяжелыми. Если вам нужна помощь в определении этого вопроса, пожалуйста, используйте приложение, например ZDbox, чтобы помочь вам.

Для справки, у меня нет ссылок на ZDbox, я просто использую его в качестве примера.

Ответ 6

Вот почему я хочу знать, что является минимальным требованием к памяти для запуска моего приложения.

Используйте инструмент мониторинга из небольших глазных лабораторий. Он контролирует потребление энергии/потребление памяти/потребление ЦП/сетевую активность вашего приложения среди другие вещи. Вы можете download его на 30-дневную пробную версию. Это должно дать вам представление о ресурсах, которые потребляет ваше приложение. Я должен сказать, что приложения обычно не выпускаются с набором требований к оборудованию. Держите память/заряд батареи проверкой, и вы должны быть в порядке.

Что касается низкой памяти, это происходит, когда вы показываете снимки, которые принимает камера, или сама камера сбивает приложение? Вы освобождаете ресурсы, удерживаемые камерой? Взгляните на этот вопрос - Исключение из памяти камеры Android