Motivating Quotes

  • Image 1
  • Image 2
  • Image 3
  • Image 4

Posts

Mar 9, 2022

Difference between iOS and Android

 

Difference between iOS and Android

 

Android vs iOS
Android vs iOS

The iOS system is developed and designed based on Apple's self-developed processor and Android processor manufacturers, such as Huawei, Samsung, etc.

Comprehensive comparison

  • It is compared from three aspects of hardware, software, and users.

1 Hardware

  • Mainly from the point of view of the processor

iOS

  • The iOS system is developed and designed based on Apple's self-developed processor A series;
  • Apple's software and hardware are highly unified and completely closed-loop, which avoids the consideration of compatibility issues, and the co-design of software and hardware systems can be better carried out, making the iOS system more suitable for A-series processors, and A-series processors are also more efficient Suitable for the iOS system.

Android

  • There are many Android processor manufacturers, such as Qualcomm, Huawei, Samsung, etc. are more mainstream.
  • Samsung and Huawei chips, like Apple, use self-developed chips for their use, while other domestic mobile phone manufacturers do not have the technical capabilities of self-developed chips. They need to purchase and then design and develop the corresponding operating system, which is limited by the core technology of the processor.
  • In the process of design and production of processors, it is difficult to truly achieve co-design and development of software and hardware, and it is necessary to take into account different manufacturers; at the same time, the design and development of operating systems are carried out in the case of existing processors, which cannot be redesigned. of.

2 software

  • It is mainly compared from the perspectives of the framework, operating mechanism, background mechanism, instruction priority, and development.

Frame

iOS system framework:

  • The iOS system is a mobile operating system developed by Apple. The full name is the iPhone operating system.
  •  iPhone OS is derived from Mac OS and is a Unix-like operating system.
  •  The iOS system acts as a bridge between software applications and device hardware. The application first communicates with the interface of the operating system, and after receiving the information, the system interacts with the underlying hardware to complete the tasks to be completed by the program.
  • The iOS operating system architecture is divided into four layers, from bottom to top: Core OS operating system layer, Core Services core service layer, Media media layer, and Cocoa Touch touch layer.
  • Core OS operating system layer and Core Services core service layer: the underlying interface of the iOS system.
  • Core OS operating system layer: Contains services such as battery management and file system.
  • Core Services core service layer: includes network requests, database access, browser, file access, etc.
  • Media layer: Provides support for various media files for applications, drawing of graphs, playback of multimedia, animation, and other special effects.
  • Cocoa Touch layer: Located at the top level, it provides various basic frameworks used by programs for the entire system. The main function of this layer is to handle the interaction on iOS devices, mostly interface-related frameworks.
 Android system framework
  • The Android system platform is developed by Google, the system kernel itself passes through the Linux kernel, and the operating system is embedded.
  • The Android platform is designed with the idea of ​​a layered architecture. There are four layers from top to bottom, namely the application layer (handover with users), the application framework layer (the logical operation of the system), the system library (supporting the operation of the system), Android When running, the Linux kernel.
  • The applications developed based on Android are designed and implemented by the Java language, and the operation of each program represents the realization of a process in the system. This mode greatly improves the performance of the Android operating system. (Dalvik virtual machine)
  • Linux kernel layer: The basis for realizing the integration of software and hardware on the Android platform, it shields hardware resources and provides various public functions to provide corresponding services for the upper layer, which helps to improve efficiency.
  • Android library layer: Dalvik virtual machine occupies very few resources at runtime, so that the system can run multiple VMs at the same time, and has better performance. The register technology of the platform is independently developed by Google. At the same time, to facilitate the processing of various functions, the platform Provides many methods to call. This layer plays a service support role for the system through some important library files. By centralizing and unifying the service files to the bottom layer of the system, the system can have stronger compatibility and work with different hardware, the most typical of which is NDK.
  • Application architecture layer: First of all, you need to obtain development permissions, and focus on the framework. The use of the framework can realize component reuse, reduce code development, and improve development efficiency.
  • Application layer: the top layer of the system, directly facing the system users, including a large number of applications, and using the Dalvik virtual machine at the bottom of the system to run.

 

Android vs iOS
Android vs iOS

Operating mechanism

·        iOS: sandbox operation mechanism

o For security reasons, iOS application interaction with the file system is limited to the application sandbox directory.

o During the installation of a new app, the installer creates several container directories for the apps in the sandbox directory.

o Each container directory has a specific role: the bundled container directory holds the application's bundles; the data container directory holds both application and user data; the data container directory is further divided into subdirectories that applications can use to sort and organize their data; The app can also request access to other container directories at runtime.

o It means: without user authorization, iOS applications can only read and write files in their sandbox, cannot access other sandboxes, and cannot communicate with each other. When accessing other sandbox content, a request needs to be issued, and through permission detection, the access can only be completed if the conditions are met.

 

·        Android: virtual machine operating mechanism

o Android uses a virtual machine operating mechanism. Dalvik is a Java virtual machine developed by Google and designed for the Android platform. It is a virtual machine designed for Linux and embedded operating systems. It is mainly responsible for object life cycle management, stack management, thread management Management, security and exception management, garbage collection, and more.

o Dalvik is responsible for process isolation and thread management. Each Android application corresponds to an independent Dalvik virtual machine instance at the bottom layer, and its code is executed under the interpretation of the virtual machine. Some Android application threads correspond to a Linux thread, so the virtual machine can It is more dependent on the thread scheduling and management mechanism of the operating system.

Background mechanism

·        iOS system: pseudo background

o iOS4: iOS starts to have a multitasking function. After pressing the home button, the program goes to the background and is stored in the memory in the form of a tombstone, and the user can quickly restore it. The apps listed in the iOS multitasking interface are only recently used, not programs that are running in the background. Only special apps can run in the background, like audio playback, location services, etc.

o iOS7: marks the transition from pseudo background to smart background. After the phone locks the screen, the background application is quickly suspended, and after waking up again, the application continues to run.

·        Android system: true background

o Similar to the Windows operating system, the application is kept in RAM, that is, all Android software can achieve background or even multi-window mode when the hardware conditions permit.

o Android applications all have independent virtual machines, that is, each time an application is opened, an independent virtual machine will be opened correspondingly. Each application has its process and memory space but requires more memory.

Android vs iOS
Android vs iOS


Command permission priority

·        iOS system UI instructions

o The UI command in the iOS system has the highest authority, and the UI rendering adopts real-time priority

o The response sequence of the iOS system is (from top to bottom) the touch layer, the media layer, the core service layer, and the operating system layer.

o When the user touches the screen, the iOS system activates the screen first, followed by media, services, and architecture.

·        Android system data processing instructions

o Priority response level: (from top to bottom) application layer, architecture layer, system library, kernel architecture.

o Among them, the highest authority instruction is the data processing instruction, and its UI rendering follows the normal priority of the main thread of the traditional computer. After touching the screen, the Android system will first activate the application, the framework, then the screen, and finally the core architecture.

Develop

·        iOSï¼Å¡objective-c

o The iOS programming language is objective-c, which has the characteristics of strong specificity and high efficiency;

o The iOS system is well optimized, and the code compiled by GCC is optimized to the extreme by Apple's conversion to the iOS architecture, without the need for a virtual machine, and the execution efficiency is high.

o The closed nature of iOS products and the stable and single underlying hardware enable its applications to have extremely high hardware utilization, ensuring the perfect combination of application development itself and hardware products.

·        Androidï¼Å¡ java

o Android's programming language is java, which is versatile but inefficient.

o The Android system requires a virtual machine to run, which is inefficient.

o The Android ecological hardware changes relatively frequently, the development cost is high, and the revenue is slow.

3 users

  • Mainly from the system application, price, security management, system update for comparison

System applications

  • The number of applications is one of the important reasons why users choose mobile phone systems.
  • iOSï¼Å¡ APP storeï¼› Androidï¼Å¡ Google Play。
  • The number of iOS has been high until the market share of Android has grown and the review has been looser, and the number of Android apps has been rising.
  • Regarding the comparison of system applications, Android and iOS have certain advantages in terms of quantity and quality and are in a state of healthy competition.

Price

  • The iPhone is undoubtedly the highest price of mobile phones in the season, and it also limits the purchase and hopelessness of some customers.
  • In terms of mobile phone prices, Android is more attractive to consumers.

Android vs iOS
Android vs iOS


Safety management

  • Android system: openness and popularity, some viruses and malicious programs attack it. The update problem of the Android system is also an aspect of most virus attacks. Due to the low popularity of the latest version of the system, there are still many users using lower versions of the system, and viruses will attack from the vulnerabilities of these versions.
  • iOS system: Many security features are used in both hardware and software, using the secure boot, touch ID, face ID, non-executive memory, encrypted key ring, application security, two-factor authentication, and other functions to better protect consumer safety.
  • In comparison, iOS is currently the safest mobile operating system.

System update

  • At present, almost 50% of iOS devices are running the latest version. Relatively speaking, Android devices running the latest version account for a very small proportion of the total, and users of the old system still account for the majority.
  • If the customer focuses on system updates, then iOS is preferred

 

Note: The difference between the IOS system and the Android system is described in detail from the technical point of view and the use and operation.

  • Apple treats users as users, Android treats users as admins

An overview is different

Bottom layer

  • Android is a free and open-source operating system based on Linux, mainly used in mobile devices, such as smartphones and tablets, issued by Google.
  • iOS is a mobile operating system developed by Apple for Apple devices.

Fluency

  • The Android system adopts the operating mechanism of a virtual machine, which consumes more system resources and becomes stuck after a period of use;
  • The ios system hardly appears stuck, and the desktop sliding sensitivity of the Android system is not as good as that of the ios system.

Cost-effective

  • Apple has a patent on the ios system. If other mobile phone manufacturers want to use the ios system, they will charge a fee, but Apple will not give its system to others.
  • The Android system is a free and open-source system provided by Google, and Android has opened more application interface APIs than iOS. It is natural to use Android to implement many functions that cannot be done on iOS without tossing. Because of the source code of Android Open, natural playability is also higher than iOS. From the perspective of cost performance, the Android system will explode the ios system.

Power saving

  • ios system is more power-efficient.
  • Android will take up more resources to support the operation of the system, which will cause it to consume more power.

Background executor

  • The IOS system does not need to clean the background at all. IOS unique task management mechanism. When the application is not running in the foreground, except for the GPS service, audio playback service, and VOIP service, other applications (programs that support so-called background execution) are suspended by the system after 10 minutes, technically, by Suspended means the same as not executing, but the data resides in memory.

o The multitasking illusion of the IOS system, such as QQ, looks like it is running in the background, but it is not. You can receive a message prompting only the system push service, whether your application is running or not, IOS will maintain this service in the background to achieve fake multitasking, and all applications will share this service channel.

  • The background software of the Android system is difficult to turn off because some software will automatically start in various forms, occupying system resources.

System stability

  • Although iOS is more stable and less likely to crash, you can't remove the battery if it crashes. After all, the iPhone is an all-in-one machine.
  • Android is much better, and the battery is removed directly after the crash. Of course, there are also mobile phones with Android systems that are all-in-one. The editor believes that: take care of your mobile phone, do not browse the web at will, and do not download software at will, the mobile phone will not crash.

System update

  • Once the ios system is updated, all Apple mobile devices equipped with its system can upgrade the system in time.
  • Although the Android system has been updated to a new version of the system, ordinary users cannot enjoy it because it cannot be automatically updated to the latest version.

Safety

  • The ios system is relatively safe because Apple will develop and test for a long time in the operation of adding functions to the ios system.
  • The Android system requires less "just run", shorter development and testing time, and more loopholes. "Hackers" can completely control the phone without the user's knowledge by simply sending a multimedia message.

Desktop interface

  • The interface of the ios system is relatively simple and classic.
  • Android interface can be set according to your preferences, more diverse.

No comments:

Post a Comment