잡스 전기

번역본 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을 하드웨어 가속으로 지원해왔다.

댓글

댓글 본문
버전 관리
김나솔
현재 버전
선택 버전
graphittie 자세히 보기