잡스 전기

번역본 11-13 - 망고님 완료!

11
Another objective of Android
    was to allow close collaboration between applications,
        so that
            for example
            it is easy to implement a share API
                that launches a part of another application
                    integrated with the original application’s flow.
> 안드로이드의 또다른 목표는 어플리케이션 간의 밀접한 협업을 지원하는 것이었다. 그렇게 함으로써, 공유 API를 구현하여 이를 사용하는 어플리케이션을 만들고, 이 어플리케이션을 기본 안드로이드 어플리케이션 흐름에 통합시키는 것이 쉬워졌다. 

As part of this,

Android applications traditionally
    are split into pieces (called “Activities”)
        that handle a single specific part of the UI of the application.
> 이를 위한 부분으로, 안드로이드 어플리케이션들은 전통적으로 "Activities"라는 이름의 부분으로 나누어져있다. 이 Activity는 어플리케이션의 특정 UI 부분을 제어한다. 
http://developer.android.com/reference/android/app/Activity.html

For example, the contacts lists is one activity,
the details of a contact is another,
and editing a contact is a third.
> 예를 들어, 연락처(contacts lists)는 하나의 activity이고, 자세히보기 화면과 편집화면도 각각 하나의 activity이다. 

Moving between those parts of the contacts UI
    means switching between these activities,
> 연락처의 여러 UI화면 사이를 이동하는 것은 이처럼 activity사이의 전환이 이루어진다는 것을 의미한다.


and each of these activities
    is its own separate window.

>> 각 activity마다 각각 별개의 창이 있는 것..
> 그리고 각각의 activity들은 자신들만의 독립적인 window를 가진다. 

*여기서 말하는 window는  android의 class 입니다. 이 activity라는 녀석이 window를 만들어서 이 window에 UI를 올릴 수 있도록 해줍니다. window는 화면의 전체 혹은 일부를 자치하면서 사용자와 상호작용하는 UI를 담고 있습니다.
http://developer.android.com/reference/android/view/Window.html


12

Now we can see something interesting:
> 이제 뭔가 흥미로운 것이 보이지 않는가?

in almost all of the places in the original Android UI
    where you see animations,
        you are actually seeing windows animate.

>> 윈도우가 animate하는게 무슨 의미일까?

> 애니메이션 효과를 내는기본 안드로이드 UI가 있는 곳이라면 거의 대부분 이 window들이 움직이고 있다. 

Launching Contacts is an animation
    of the home screen window and the contacts list window.
> 연락처를 실행할 때의 애니메이션은 홈스크린 window와 연락처리스트 window간의 애니메이션이다.

Tapping on a contact to see its details
    is an animation of
        the contacts list window
        and the contacts details window.
> 연락처 자세히보기를 하면 연락처리스트 window와 연락처자세히보기 window간에 애니메이션이 실행된다.

Displaying the soft keyboard
    is an animation of the keyboard window.
> 화면하단에서 슬라이드하여 올라오는 소프트 키보드를 보여주는 것은 키보드 window의 애니메이션이다. 

Showing the dialog
    where you pick an app to share with
        is an animation of a window
            displaying that dialog.
> 공유하기를 눌러서 나타나는 알림창은 알림창을 보여주는 window의 애니메이션이다.
13

When you see a window on screen,
what you are seeing
    is actually something
        called a “surface”.
> 화면에 보이는 window는 실제 surface라고 불리는 녀석이다.
*http://developer.android.com/reference/android/view/Surface.html

This is a separate piece of shared memory
        that the window draws its UI in,
> 이것은 공유메모리에 독립적으로 존재하며, window는 이 위에 UI를 그린다.
    and (this) is composited with the other windows
        to the screen by a separate system service
            (in a separate thread,
                running at a higher than normal priority)
                    called the “surface flinger.”
> 그리고 여러 window들은 "surface flinger"라는 이름의 독립된 시스템 서비스에 의해 스크린으로 통합된다.
(이 통합작업은 독립된 쓰레드에서 normal 보다 높은 우선순위로 실행된다.)
* 여러 window들이 surface를 공유하며 이 위애 UI를 그리는 것을 의미합니다. 레이어를 합치는 개념과도 비슷한 것 같습니다.)

Does this sound familiar?
> 뭔가 익숙한 설명 아닌가?

In fact this is like
    what iOS is doing with its views
        being composited by a separate thread,
            just at a less fine-grained but significantly more secure level.
> 사실 이것은 iOS가 여러 화면들을 하나의 독립적인 쓰레드로 통합하는 것과 비슷하다. 단지 좀 덜 세부적이고, 훨씬 안전한 수준이라는 점이 다를뿐.

(And this window composition has been hardware accelerated in Android from the beginning.)
> 그리고 최초부터 안드로이드는 window composition을 하드웨어 가속으로 지원해왔다.

댓글

댓글 본문
작성자
비밀번호
  1. lindarose11
    This is extremely helpful info!! Very good work. Everything is very interesting to learn and easy to understood. Thank you for giving information.
    http://vex3game.com
버전 관리
김나솔
현재 버전
선택 버전
graphittie 자세히 보기