Lesson 2 Flashcards
one of the primary roles of the linux kernel in android is ___. it allows android to run on a wide variety of devices with different configurations.
hardware abstraction
it controls how memory is allocated to processes and ensures that one process cannot interfere with the memory of another
memory management
handles the creation, scheduling, and termination of process
process management
software components that enable communication between the kernel and hardware devices
device drivers
lightweight relational database management system that manages local databases for tasks such as storing user data, application, settings, and cached information
SQLite
consists of platform libraries and services for handling multimedia content (audio, video, recording, streaming)
media framework
c library developed for android. it provides a subset of the standard C library functions. used by both the android os and applications for low-level system operations and c-based code execution
bionic library
compilation strategy where application bytecode is compiled into native code during installation, further enhancing app performance
ahead-of-time
manages the lifecycle of applications and provides a framework for user interface management, such as handling the creation and navigation of app screens
activity manager
manages and displays notifications to the user, providing a consistent way for apps to alert users about events or messages
notification manager
written in java or kotlin, the official programming languages and are compiled to run directly on android devices (i.e. whatsapp)
native applications
offer a wide range of content for leisure and enjoyment. they can include streaming movies, music, books, and podcasts (i.e. netflix)
entertainment applications
enable users to connect rhough voice, video, and text-based messaging. include features like voice, video calls, group chats, and file sharing
communication applications
help users manage tasks, organize their work, and improve efficiency (i.e., office suites, note-taking apps, calendar apps, ms office suite)
productivity applications
facilitate communication and interaction among users. include features like user profiles, friend requests, sharing content, and messaging (i.e. whatsapp)
social media applications
designed primarily for entertainment purposes. can range from simple, casual games to complex, graphics-intensive titles
(i.e. among us)
gaming applications
web applications designed to provide a native app-like experience on the web. offer features like offline access, push notifications, and fast loading times. PWAS can be added to the home screen (i.e. pinterest)
progressive web applications
developed using frameworks that enable code sharing across multiple platforms, such as android or ios. allows the creation of apps with a single codebase, reducing development time and costs (i.e. facebooks ads manager).
cross-platform applications
combine elements of both native and web applications. developed using web technologies but are wrapped in a native container
(i.e. instagram)
hybrid applications
essentially mobile websites that can be accessed through a browser, but can also be saved to home for quick access. rely on html, css, javascript, and require internet to function (i.e. twitter lite)
web applications
world’s most popular mobile operating system
android
this provides essential services such as hardware abstraction, memory management, and process management
linux kernel
core layer that interacts directly with the hardware and provides essential services and functionality
linux kernel
enforces security by implementing user and group permissions. ensures that processes and applications can only access resources for which they have permissions
security and permissions
supports various file systems, including EXT4, FAT, NTFS. this support is crucial for managing storage devices and file access by applications
file system support
for optimizing battery life on mobile devices. it controls cpu frequencies, screen brightness, device sleep states, and other power-related functions
power management
pipes, sockets, and message queues to facilitate communication between processses
interprocess communication (IPC)
supports real-time features in embedded and specialized systems, where precise timing and predictability are essential
real-time features
these provide core functionality to the android system and are accessible to both system-level processes and android applications
platform libraries
subset of the OpenGL graphics rendering API. it allows android to leverage hardware acceleration for graphics rendering. this creates visually appealing and responsive user interfaces
OpenGL Embedded Systems
open-source web rendering engine. it is used to render HTML content within applications, including web browsers, email clients, and web-based views
Webkit (Web Rendering Engine)
responsible for managing the display subsystem in Android. create and manage graphical surfaces for rendering UI elements, animations, and video playback
surface manager
these libraries provide secure communication over the internet by implementing encryption protocols such as secure socket layer and transport layer security
SSL/TLS libraries
offer support for specific functions, such as image decoding, audio processing, and more
other native libraries
these libraries contain the core Java and Kotlin libraries used by android applications. they provide essential functionality for applications such as data structures and utilities
core libraries
layer that provides high-level abstractions and services for application development. offers a structured and consistent way for developers to interact with the Android system
Application Framework
enables data sharing between applications and manages access to structured data, allowing apps to securely interact with each other’s data
content provider
handles non-code resources like images, strings, and layout files, making it easier for developers to manage app resources
Resource Manager
provides access to location-based services and GPS functionality for location-aware applications
location manager
manages user interface components such as layouts, views, and widgets, enabling the creation of visually appealing and interactive user interfaces
view system
manages the installation, update and removal of applications, ensuring a secure and organized app ecosystem
package manager
provides access to telephony-related services for voice and data communication, facilitating mobile communication apps
telephony manager