Знакомство с системой Android

 Запуск системы Android

1, «Введение в процесс запуска системы Android»

2, «Процесс запуска процесса инициализации Android»

3. «Процесс запуска процесса Android zygote»

4. «Процесс запуска процесса Android SystemServer»

5. «Процесс запуска программы запуска Android»

6. «Подробное объяснение процесса запуска активности Android»

Подготовка к разработке системы Android

1, «Загрузка и компиляция исходного кода Android»

2. «Компиляция исходного кода Android 11 и прошивка pixel3»

3. "Загрузка и отладка кода IDE Android Framework"

Практика разработки Android-систем

1. «Установка способа ввода по умолчанию для Android»

2, «готовое APK-приложение Android Framework»

3. «Подробное объяснение ограничения запуска приложений на уровне системы Android»

4. «Android отдельно компилирует модуль фреймворка и проталкивает его»

5. «Анализ проблем системы разработки Android Framework»

Статьи из резерва основных знаний по разработке систем Android

1, «Система компиляции Android — статьи о envsetup и обеденном коде»

2. «Система компиляции Android — концепция»

3. «Подробное объяснение системы журналов Android»

4. «Подробное объяснение обработчика системы Android»

5. «Подробное объяснение связующего устройства Android»

6. «Подробное объяснение взаимосвязи между действием, представлением и окном в Android»

7. «Подробное объяснение процесса рисования Android View»

8. «Подробное объяснение атрибутов системы чтения Android»

9. «Подробное объяснение механизма управления окнами Android»

10. «Первое знакомство с системой Android»

11. «Метод связи процесса AMS в Android, уведомляющий процесс Zygote о новом процессе»

Подробное объяснение основных функций Android

1. «На рынке приложений Android нажмите, чтобы скачать подробности установки APK»

2, «Навигация жестами Android (проведите пальцем снизу вверх, чтобы открыть страницу многозадачности)»

3. «Анализ жестов Android (проведите пальцем слева направо по интерфейсу приложения, чтобы выйти из приложения)»

4. «Подробное объяснение процесса установки приложения для Android»

5, «приложение установки android11 ​​запускает процесс обновления значка на рабочем столе»

6. «Подробное объяснение недавних многозадачных систем Android»

7. «Анализ представления панели навигации системы Android»

————————————————————————————————————————

Оглавление

 Запуск системы Android

Подготовка к разработке системы Android

Практика разработки Android-систем

Статьи из резерва основных знаний по разработке систем Android

Подробное объяснение основных функций Android

1. История развития

2. Эволюция системы

3. Технологическая эволюция

Четыре, конец


1. История развития

        Давайте сначала взглянем на процесс разработки системы Android.От выпуска системы Android 1.0 в 2008 году до предстоящего выпуска системы Android 10.0 в 2019 году некоторые важные временные узлы перечислены ниже.

  • В октябре 2003 года команда Энди Рубина основала компанию Android;

  • В августе 2005 года Google приобрела компанию Android, и Энди Рубин продолжал отвечать за проект Android в качестве вице-президента Google Engineering;

  • В сентябре 2008 года Google официально выпустила систему Android 1.0;

  • В январе 2011 года общее количество пользователей системного оборудования Android достигло 135 миллионов, став системой с наибольшей долей в области смартфонов;

  • В августе 2011 года на телефоны Android приходилось 48% мирового рынка смартфонов, и они доминировали на рынке Азиатско-Тихоокеанского региона, положив конец господству системы Symbian и заняв первое место в мире;

  • В январе 2012 года в Google Android Market было 100 000 разработчиков, и было запущено более 400 000 приложений;

  • В ноябре 2013 года был официально выпущен Android 4.4 с более умной системой и более современным пользовательским интерфейсом;

  • С 2013 по 2018 год Android вступил в период бурного развития на этом этапе.Были модернизированы камеры, память, фюзеляжи, чипы и т. д. Первоначальный 3,5-дюймовый маленький экран ушел со сцены истории, а полноэкранные экраны, вырезки , а экраны с каплями воды стали текущим основным решением для экранов.

2. Эволюция системы

  • Начиная с Android 1.0 и заканчивая Android 4.0, различные функции и возможности системы перешли на более совершенную стадию;

  • Для системы Android 4.1 Google запустил Project Butter, чтобы система Android избавилась от серьезной задержки взаимодействия с пользовательским интерфейсом, надеясь, что она будет такой же плавной, как «масло». Основной принцип заключается в том, что рендеринг и анимация в структуре системы используют технологию вертикальной синхронизации (VSYNC) и технологию тройного буфера (Triple Buffer), чтобы сделать такие операции, как скольжение и перелистывание страниц, более последовательными и плавными.

  • Для системы Android 4.4 Google запустил план похудения (Project Svelte), пытаясь уменьшить использование памяти системой Android и решить проблему сложных обновлений для младших моделей, чтобы Android 4.4 мог нормально работать на всех устройствах Android. телефонов, тем самым уменьшив продолжающуюся фрагментацию системы Android. С точки зрения дизайна пользовательского интерфейса поддерживается новый «иммерсивный режим». Пользовательский интерфейс изменился с прежних черно-синих тонов на светлые цвета с прозрачностью, а визуальный язык стал ярче и современнее.

  • Для системы Android 5.0 Google запустил Project Volta, чтобы увеличить время автономной работы. В этом отношении Google отстает от производителей в отрасли. Производители особенно настойчиво относятся к времени автономной работы перед лицом пользователей и часто имеют более строгий контроль над системными ресурсами. Кроме того, система использует новый ART, отказывается от виртуальной машины Dalvik и значительно повышает эффективность работы. С точки зрения дизайна пользовательского интерфейса используется новый плоский стиль дизайна Material Design, который является более свежим и текстурированным и объединяет внешний вид и пользовательский интерфейс устройств Android.

  • В системе Android 6.0 Google представила новые разрешения во время выполнения, чтобы пользователи могли лучше понимать и контролировать разрешения, а также представила режим Doze для дальнейшего увеличения времени автономной работы. Что касается дизайна пользовательского интерфейса, был добавлен новый ночной режим, а панель уведомлений была значительно улучшена, чтобы сделать уведомления более лаконичными.

  • Система Android 7.0 представляет новый компилятор JIT, который является дополнением к компилятору AOT, что может сэкономить место на диске и ускорить скорость обновления, дополнительно оптимизировать механизм пробуждения Doze, дизайн пользовательского интерфейса поддерживает функцию разделения экрана;

  • Для системы Android 8.0 компания Google запустила план (Project Treble) по изменению архитектуры Android, отделению системной инфраструктуры Android от уровня поставщика и стремлению полностью решить постоянную проблему фрагментации Android.Это самое большое изменение в Android. Архитектура системы. На системном уровне усилены ограничения управления и контроля фоновых услуг, вещания и местоположения. Что касается дизайна пользовательского интерфейса, улучшите панель уведомлений, интеллектуальный выбор текста и функции автозаполнения.

  • Система Android 9.0 представляет API нейронной сети, использует идеи машинного обучения для прогнозирования привычек пользователей для оптимизации энергосбережения и продолжает укреплять план Treble; файловая система (sdcardf/F2FS) продолжает улучшаться; ограничения частного API еще больше стандартизируют экосистему Android и усилить конфиденциальность и безопасность, аппаратные модули безопасности и единый интерфейс биометрической аутентификации. С точки зрения дизайна пользовательского интерфейса новая навигация с помощью жестов, расширенная поддержка Лю Хайпина, интерфейс поиска пользовательского интерфейса использует машинное обучение, а искусственный интеллект постепенно укрепляет систему Android.

  • Для системы Android 10.0 компания Google запустила проект Mainline. Соответствующие модули (модули) не могут быть изменены непосредственно производителем. Они могут быть обновлены и обновлены только через Google App Store для повышения конфиденциальности пользователей, безопасности системы и совместимость. Поддержка биометрии лица.

3. Технологическая эволюция

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

Мобильная кроссплатформенная технология: от гибридной технологии разработки Hybrid на базе Cordova (с опорой на WebView) в начале, до технологии моста React Native (преобразование JS в Native), а затем до новейшей технологии Flutter. Flutter – это новый мобильный кроссплатформенный UI-фреймворк, выпущенный Google. Механизм рендеринга реализован кросс-платформенной графической библиотекой Skia. Только интерфейс, связанный с рисованием графики, зависит от системы, что может гарантировать согласованность опыта на разных платформах. и устройств в наибольшей степени. , для обработки логики используется язык Dart, а эффективность выполнения выше, чем у JavaScript. Кроме того, уровень пользовательского интерфейса Fuchsia, еще одной операционной системы, разрабатываемой в Google, использует Flutter, а это означает, что Flutter естественным образом может поддерживать Android, IOS и будущую Fuchsia. В направлении большого интерфейса, для кросс-платформенной разработки, он постоянно итерировался, чтобы найти все лучшие и лучшие решения.В настоящее время у Flutter все еще больше преимуществ.

Архитектура приложения: режим MVC (модель-представление-контроллер), но класс Activity слишком раздут.Чтобы решить эту проблему, с MVP (модель-представление-презентатор) презентеру нужно не только оперировать данными, но и обновлять view; затем в MVVM (Model -View-ViewModel) решает проблему большого количества ручной синхронизации View и Model в MVP и обеспечивает двусторонний механизм привязки.

Технология оперативных исправлений и подключаемых модулей: основной сценарий применения оперативных исправлений заключается в том, чтобы позволить пользователям устранять онлайн-дефекты, не чувствуя себя, например, Tinker, Andfix, Sophix и т. д. Плагин предназначен для уменьшения связанности модулей, уменьшения размера основной программы и может быть загружен по запросу, например, DroidPlugin, OpenAtlas и т. д. Детали различных хотфиксов и плагинов распространяться не буду.Скажу лишь, что в Android 7.0 есть наручники на лимит вызовов Native NDK, особенно на Android 9.0 лимит вызовов на SDK уровня Java — это наручники. черная технология, такая как плагин, чтобы танцевать с наручниками.Вы можете танцевать, но танцевальная поза может быть не очень красивой.

Пакет приложений: с непрерывной речью приложения функции становятся все более и более сложными, и приложение упаковано в одно и то же приложение для разных экранных устройств и языковых ресурсов разных стран, что приводит к постоянному увеличению пакета приложений. к статистике размер пакета приложений увеличился с 2012 года в 5 раз. Хотя объем памяти мобильных телефонов становится все больше и больше, качество мультимедийных файлов, таких как пользовательские фотографии и видео, постепенно улучшается, что приводит к постепенному сокращению доступного пространства устройства. По этой причине Google сообщил на прошлогодней конференции Google I/O, что Android представила новую динамическую структуру приложений (то есть Android App Bundle, сокращенно AAB). Использование Split Apk для завершения динамической загрузки и использование метода динамического распределения AAB может значительно уменьшить размер приложения и уменьшить занимаемое пространство для хранения.

Kotlin: это официальный статический язык программирования, рекомендованный Google, который совместим с Java и может быть преобразован друг в друга. Kotlin скомпилирован в байт-код Java, а также может быть скомпилирован в JavaScript и работает на устройствах без JVM, что просто и безопасно. Использование Kotlin для более быстрого написания приложений для Android может повысить эффективность работы разработчика и написать меньше шаблонного кода.Это называется Swift в мире Android. Согласно опросу, проведенному сообществом разработчиков Google, около 40% разработчиков Android использовали Kotlin. Это не для того, чтобы побудить всех использовать Kotlin.Изучение нового языка похоже на инвестиции, и вы должны взвесить все за и против между затратами команды и преимуществами.

Jetpack: это набор инструментов для разработки, его основная цель — помочь нам написать более лаконичный код и упростить процесс разработки. Компоненты Jetpack характеризуются тем, что большинство из них не зависят от какой-либо версии системы Android, а это означает, что эти компоненты обычно определяются в библиотеке AndroidX и имеют очень хорошую обратную совместимость. Jetpack в основном состоит из четырех частей: основы, архитектуры, поведения и интерфейса.Многие компоненты архитектуры адаптированы для архитектуры MVVM. 

Четыре, конец

        Экосистема андроида включает в себя широкий спектр знаний, и людям необходимо специализироваться в нескольких направлениях в соответствии с их собственной работой и предпочтениями. Я занимаюсь разработкой фреймворка для Android, уделяя особое внимание технологиям, связанным с фреймворком. На следующем рисунке показана общая архитектура Android.

Supongo que te gusta

Origin blog.csdn.net/allen_xu_2012_new/article/details/130686397
Recomendado
Clasificación