0% found this document useful (0 votes)
68 views5 pages

Architecture: Activity-1 CS-405 0905CS191148

The document discusses the architecture and memory management of iOS. It describes the layered architecture of iOS, including the core OS, core services, media, and cocoa touch layers. It then covers memory management in iOS, how ARC handles memory, and memory management tools like Instruments. Troubleshooting tips for iOS issues and advantages/disadvantages of iOS are also provided.

Uploaded by

Sahil Tripathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views5 pages

Architecture: Activity-1 CS-405 0905CS191148

The document discusses the architecture and memory management of iOS. It describes the layered architecture of iOS, including the core OS, core services, media, and cocoa touch layers. It then covers memory management in iOS, how ARC handles memory, and memory management tools like Instruments. Troubleshooting tips for iOS issues and advantages/disadvantages of iOS are also provided.

Uploaded by

Sahil Tripathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Activity-1 CS-405 0905CS191148

1. Architecture
The iOS is the operating system created by Apple Inc. for mobile devices. The iOS is
used in many of the mobile devices for apple such as iPhone, iPod, iPad etc. The
iOS is used a lot and only lags behind Android in terms of popularity.
The iOS architecture is layered. It contains an intermediate layer between the
applications and the hardware so they do not communicate directly. The lower layers
in iOS provide the basic services and the higher layers provide the user interface
and sophisticated graphics.
The layered architecture of iOS is given as follows −

Layers in iOS Architecture


The different layers as shown in the above diagram are given as follows −
Core OS
All the iOS technologies are build on the low level features provided by the Core OS
layer. These technologies include Core Bluetooth Framework, External Accessory
Framework, Accelerate Framework, Security Services Framework, Local
Authorisation Framework etc.
Core Services
There are many frameworks available in the cure services layer. Details about some
of these are given as follows −
Cloudkit Framework
The data can be moved between the app the iCloud using the Cloudkit Framework.
Core Foundation Framework
This provides the data management and service features for the iOS apps.
Core Data Framework
The data model of the model view controller app is handled using the Core Data
Framework.
Address Book Framework
The address book framework provides access to the contacts database of the user.
Core Motion Framework
All the motion based data on the device is accessed using core motion framework.
Healthkit Framework
The health related information of the user can be handled by this new framework.
Core Location Framework
This framework provides the location and heading information to the various apps.

Media
The media layer enables all the graphics, audio and video technology of the system.
The different frameworks are:
UIKit Graphics
This provides support for designing images and animating the view content.
Core Graphics Framework
This provides support for 2-D vector and image based rendering and is the native
drawing engine for iOS apps.
Core Animation
The Core Animation technology optimizes the animation experience of the apps.
Media Player Framework
This framework provides support for playing playlists and enables the user to use
their iTunes library.
AV Kit
This provides various easy to use interfaces for video presentation.

Cocoa Touch
The cocoa touch layer provides the following frameworks −
EventKit Framework
This shows the standard system interfaces using view controllers for viewing and
changing calendar related events.
GameKit Framework
This provides support for users to share their game related data online using Game
center.
MapKit Framework
This provides a scrollable map which can be included into the app user interface.

2. Memory management.
Memory management in iOS was initially non-ARC (Automatic Reference
Counting), where we have to retain and release the objects. Now, it supports ARC
and we don't have to retain and release the objects. Xcode takes care of the job
automatically in compile time.

Memory Management Issues


As per Apple documentation, the two major issues in memory management are −
 Freeing or overwriting data that is still in use. It causes memory corruption
and typically results in your application crashing, or worse, corrupted user
data.
 Not freeing data that is no longer in use causes memory leaks. When
allocated memory is not freed even though it is never going to be used again,
it is known as memory leak. Leaks cause your application to use ever-
increasing amounts of memory, which in turn may result in poor system
performance or (in iOS) your application being terminated.

Memory Management Rules


 We own the objects we create, and we have to subsequently release them
when they are no longer needed.
 Use Retain to gain ownership of an object that you did not create. You have
to release these objects too when they are not needed.
 Don't release the objects that you don't own.

Handling Memory in ARC


You don't need to use release and retain in ARC. So, all the view controller's
objects will be released when the view controller is removed. Similarly, any object’s
sub-objects will be released when they are released. Note that if other classes have
a strong reference to an object of a class, then the whole class won't be released.
So, it is recommended to use weak properties for delegates.

Memory Management Tools


We can analyze the usage of memory with the help of Xcode tool instruments. It
includes tools such as Activity Monitor, Allocations, Leaks, Zombies, and so on.

3. Troubleshooting .

1. Force close the app.

2. Restart your device.


3. Update the app.
4. Update your device software.
5. Check your internet connection.
6. Check how much free space is left on your device.

4. Advantage.

1.Consistency and Ease of Use.


2.Variety of Accessories and the Apple Store.
3.Accessibility and Settings.
4.Microsoft Office 365 Support.
5.Less Unnecessary Features.
6.Less Security Breaches.

5. Disadvantage.

 Not flexible only supports iOS devices.


 The iOS is not Open Source.
 The main disadvantages of using iOS are costly Apps and no widget
support.
 You cannot change your ringtone but there are many alternatives to do that.

You might also like