마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android Software Architecture에 관한 질문

0 추천

안녕하세요.

 

Android Software Architecture에 관해 질문을 드립니다.

통상적으로 Android Software Architecture 는 http://en.wikipedia.org/wiki/File:Android-System-Architecture.svg 와 같이 나타내어 집니다.

그런데 이러한 Architecture는 Android version에 상관없이 동일하게 나타내어지는 것인지요?

즉 version에 상관없는 공통적인 구조입니까? (예를 들면, 2.3(진저브레드), 4.0(ICS), 4.2 (JB) 가 모두 동일합니까?)

만약 그렇다면, Android Version이 올라감에 따라 추가되는 기능은 Architecture 그림에서 어느 부분에 생성되는 것인가요?

 

감사합니다.

 

아름소리 (120 포인트) 님이 2013년 2월 27일 질문

3개의 답변

+1 추천
버전업에 따라 VM이나 커널단의 아키텍쳐도 변화합니다.

일례로 3.0 버전 전에는 openGL에서 사용하는 메모리를 VM에서 관리하지 않았었습니다.

때문에 OOM이 발생할 가능성이 상당히 큰편이었습니다.

그 이후엔 VM에서 관리가 되어 프로그램이 죽어버리는 극단적인 문제는 많이 줄어든 편입니다.

 

물론 프로그래머가 코딩할때 신경쓰지 않는다면 구현이 상당히 달라지거나 하지 않고.

충분히 신경써서 작성한 코드라면 이런 문제에 강한 모습을 보입니다.

 

경험상 UI와 최근 추가된 팝업윈도우 관련 내용이 아니면

진저브레드까지는 downward compatibility가 상당부분 보장되니 개발상 심각하게 스트레스 받는 부분은 없는것 같습니다.
Noizbuster (11,970 포인트) 님이 2013년 2월 28일 답변
0 추천
당연히  framework지요^^(기능에따라 상위도 추가됨)

하지만 개발자가 접근할수 있는부분에서 추가되는건 framework뿐입니다 ㅋ
수상한i (8,050 포인트) 님이 2013년 2월 27일 답변
0 추천
구조는 변함이 없어요.

Java-VM 은 Windows나 MacOS 나 설치하고 Java를 실행할 수 있죠?

그 이유는 VM 상위 단은 JAVA Framework 로 구동되기 때문입니다.

대신 Java Framework 가 실제 OS와 상호작용 하기 위한 설계부가 존재하는데

Android에서는 이 부분이 Android-runtime입니다.

 

Android에서는 Dalvik이 라이브러리를 통해 OS와 통신합니다.

이 부분은 Dalvik의 Native 단을 분석해보시면 알 수 있습니다.
마플 (3,720 포인트) 님이 2013년 2월 28일 답변
...