Android - это мощная операционная система, которая предоставляет удобные приложения для пользователей, и это бесплатная операционная система с открытым исходным кодом, что означает, что любой желающий может использовать и модифицировать ее.
В настоящее время количество пользователей смартфонов и планшетов стремительно растет. Разработчики стараются разработать приложение, удовлетворяющее потребности заказчика. В настоящее время приложения для платформы Android занимают наибольшую долю рынка и, как ожидается, продолжат свой бурный рост в будущем. Однако, большинство приложений не подходит для каждого телефона, так как они потребляют больше энергии и памяти.
Наша повседневная жизнь почти полностью зависит от мобильных устройств, таких как смартфоны и планшеты. Эти устройства позволяют нам использовать приложения, которые обеспечивают нам полезные и трудоемкие вычисления, облегчающие нашу жизнь. К сожалению, эти устройства, в отличие от компьютеров, ограничены по мощности батареи и объему памяти. Несмотря на ограниченные ресурсы, некоторые методы программирования вносят свой вклад в неэффективное использование памяти и энергии нашего устройства.
Чтобы максимально повысить удобство использования разрабатываемых приложений, разработчики не располагают достаточным количеством рекомендаций по наиболее полезным практикам и улучшению использования энергии при их внедрении. Несмотря на это, есть прогресс в аппаратных средствах и батарейных технологиях, плохо разработанные приложения не останавливаются от слабого разряда батареи.
Мобильные приложения появились в 1990-х годах, когда они были созданы компаниями Nokia и Motorola. Эти приложения привели к разработке различных приложений в различных категориях и размещены в различных магазинах приложений. Приложения из самых популярных магазинов App, Google Play и Apple, были загружены более 125 миллиардов раз, но проблемы производительности относятся к узким местам, которые влияют на рейтинг. Разработчики этих приложений в настоящее время сталкиваются с проблемами памяти и энергии, поскольку они получают жалобы от пользователей.
Насколько я знаю, в настоящее время нет доступных всесторонних систематических исследований в области тестирования и анализа производительности мобильных и смартфонных приложений, касающихся памяти и энергии. Мой систематический обзор литературы обеспечивает всестороннее и углубленное картографическое исследование с использованием четко определенной методологии для построения новой схемы классификации и структур области исследований мобильного анализа и тестирования производительности приложений. Кроме того, это исследование собирает, интерпретирует и анализирует все соответствующие данные для эмпирических исследований, направленных на решение проблем, подходов или методов тестирования мобильных и смартфонных приложений.
После прохождения трех (3) этапов фильтрации для мистематического исследования я сделал обобщение фактических данных на основе подкатегорий классификации FIVE (5):
- тестирование производительности,
- утечка ресурсов,
- утечка памяти,
- энергия
- общая категория.
Методология
Использованная мной методология исследования - систематический обзор литературы (SLR), основанный на рекомендациях, предоставленных Китченхэмом и Петерсеном и другими.
- Во-первых, исследуемый вопрос идентифицирован и определен.
- Затем приводится детальный перечень ключевых слов, который позволяет нам найти как можно более широкий набор публикаций в рамках SLR.
- Чтобы ограничить свое исследование некоторыми весьма релевантными публикациями, я применил критерии исключения к результатам поиска, отфильтровав возможные работы, менее релевантные для моей тематической области.
- Затем из отфильтрованных работ детализируются дополнительные ключевые слова, в этом случае ключевые слова позволяют классифицировать возможные исследования по вкладу рассматриваемых проблем и фокусным областям исследователей.
- Наконец, данные извлекаются и сопоставляются с соответствующей подкатегорией исследования, которая создается для этой цели.
Методы фундаментального анализа
Здесь я определил девять основных методов, которые часто используются в публикациях, часто в сочетании друг с другом.
Аннотация: это теория оценки/аппроксимации семантики программы, в которой гарантировано качество анализа и которая помогает избежать ложно-отрицательных результатов.
Символическое исполнение: это подход для генерации возможных программных входов, локализации нереализуемых путей. Символические значения могут быть приняты для получения возможных входов, удовлетворяющих всем условным ветвям внутри данного пути. Его также можно использовать в качестве тестовых примеров для поиска заданного пути для повторяемого динамического анализа. Если вводимые ресурсы не производятся, то считается, что это неосуществимо.
Анализ недостатков: этот подход состоит из статического и динамического анализа. Это своего рода анализ информационных потоков, при котором объекты оскверняются и отслеживаются с помощью анализа информационных потоков.
Кодовая аппаратура: используется для решения проблем статического анализа в приложениях Android. Он также включает в себя отслеживание кода, отладку и структурированную обработку исключений, профилирование, счетчики производительности и протоколирование или отслеживание основных событий при выполнении приложений.
Разгрузка: представляет собой метод миграции выполнения, процессов, методов, потоков и задач на различные машины.
Управление кэш-памятью: обеспечивает хранение данных и управление ими в памяти. Помогает упорядочить данные в регионах данных с настраиваемым поведением.
Сравнительный анализ: это способ создания образцов приложений для последующего использования в справочных и других целях, который помогает оценить эффективность и результативность новых предложенных подходов.
Оптимизация кода: это метод, который включает в себя рефакторинг кода и другие методы перестановки, которые помогают повысить производительность приложений Android.
Исследование: представляет собой метод изучения ранее проведенных эмпирических исследований и проведения статистического и численного анализа обоснованных обязательств и подходов к развитию, связанных с результатами деятельности.