안드로이드의 특징

2019. 1. 22. 01:36Study

안드로이드의 특징

 

안드로이드는 다른 소프트웨어 개발 분야와 비교했을 때 많은 부분이 오픈되어 있는 특징이 있습니다.

IOS와 비교해본다면 더욱 차이가 크게 느껴지는 부분입니다.

 

- 안드로이드는 공개 운영체제인 리눅스 기반이다.

- 안드로이드 앱 개발은 Java, Kotlin을 이용해 개발한다.

- 운영체제, 라이브러리, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드들은 대부분 오픈되어 있다.

- 안드로이드 폴랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있다.

- 개발자가 만든 앱은 구글 Play스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있다.

- 안드로이드 기반의 모든 애플리케이션은 스마트폰에 기본 탑재된 앱과 개발자들이 만드는 앱이 같은 환경에서 같은 API를 이용한다.

 

많은 부분이 오픈되어 있다는 점은 개발자의 관점에서 장점이지만 단점도 있습니다.

바로 기기의 파편화 문제입니다.

스마트폰 제조사들이 스마트폰을 제작할 때 구글에서 만든 안드로이드 플랫폼을 그대로 탑재하는 것이 아니라,

수정하거나 추가해서 제작하기때문입니다

그렇기 때문에 표준API로 개발된 코드가 특정 스마트폰에서 수행되지 않거나 에러가 발생할 수 있다는 단점이있습니다. (많아도 너무 많음..)

안드로이드는 많은 부분을 개발자가 구현할 수 있는데 대표적인 특징은 멀티태스킹(multitasking)이 있습니다.

안드로이드에서는 여러 프로세스가 동작할 수 있고, 어떤 프로세스가 화면을 점유하여 사용자가 이용하고 있어도 앱은 백그라운드에서 동작하여 계속 업무를 수행할 수 있습니다.

 

하지만 이 부분도 단점이 있습니다..

 

백그라운드에서 너무 많은 앱이 수행되면 배터리 소비, 네티워크 트래픽 증가, 메모리 부족등 여러가지 현상이 발생합니다

저의 경우 회사에서 개발하는 앱을 API LEVEL 19 (KITKAT)의 갤럭시 S4에서 빌드해보니까 배터리를 많이 잡아먹는다고 구동이 안되더라구요 ㅇ_ㅇ

 

참고로 IOS는 멀티태스킹을 지원하지 않는다고 합니다.

IOS 14부터 멀티태스킹 기능이 추가되었습니다!

'Study' 카테고리의 다른 글

람다(Lambda)란 무엇일까?  (2) 2019.10.23
Context란 무엇일까?  (0) 2019.05.07
4대 컴포넌트  (0) 2019.05.07
Garbage Collection과 Heap  (0) 2019.01.29
안드로이드 아키텍처란 무엇일까?  (0) 2019.01.22