O que é uma janela Android?

O que é um andróide?

Pensei que o nível mais alto do Android se chamava Activity, que é a tela que você vê.

Alguém me pode dizer o que é uma janela no Android? só temos um ou vários deles.

Author: Sufian, 2012-02-26

4 answers

A actividade é o que se chama uma janela. Tecnicamente falando, a actividade cria a janela para ti.

Podes ter muitos deles, mas normalmente não de forma sincronizada. Para pedir informações adicionais, você pode chamar uma janela, ou disparar uma intenção para outra atividade.

Para mais informaçõesvisite este link .

 8
Author: Knossos, 2012-02-26 09:14:14

[UPDATE] (deixe-me partilhar o que aprendi sobre {[[0]} após a resposta original)

Numa frase, A Window é uma área rectangular que tem uma hierarquia de visualização. Os rectângulos coloridos em baixo da imagem são janelas.

enter image description here

Como pode ver, pode haver várias janelas numa só tela, eO WindowManager gere-as. A lista de janelas no ecrã actual pode ser obtida através da hierarquia Visualizador , ou adb shell dumpsys window.

Lista de janelas no exemplo do Visualizador de Hierarquia : enter image description here

(abaixo está a resposta original)


Tinha a mesma pergunta e espero que isto vos possa ajudar. De acordo com a documentação de desenvolvimento do Android,

"cada atividade é dada uma janela na qual desenhar sua interface de usuário."

E a Dianne Hackborn, que é uma engenheira de estrutura Android, deu algumas definiçõesaqui . Ela disse:

Uma janela é basicamente como se você pensasse em uma janela no desktop. It tem uma única superfície em que o conteúdo da janela é renderizado. Uma aplicação interage com o Gestor de janelas para criar janelas; o Gestor de janelas cria uma superfície para cada janela e dá-a à aplicação de desenho. A aplicação pode desenhar o que quiser na superfície; para o Gestor de janelas é apenas um rectângulo opaco.

Uma superfície é um objecto mantendo os pixels que estão a ser compilados para o ecrã. Todas as janelas que vê no ecrã (uma janela, a sua actividade de ecrã completo, a barra de Estado) têm a sua própria superfície para onde se desenha, e o Flinger de superfície torna-as para a visualização final na sua ordem Z correcta. Uma superfície normalmente tem mais de um buffer (geralmente dois) para fazer a renderização dupla-buffered: a aplicação pode desenhe o seu próximo estado UI enquanto o indicador de superfície compõe o ecrã usando o último buffer, sem ter de esperar que a aplicação termine o desenho.

Uma vista é um elemento UI interactivo dentro de uma janela. Uma janela tem uma única hierarquia de visualização ligada a ela, que fornece todo o comportamento da janela. Sempre que a janela precisar de ser redesenhada (tal como porque uma visão se invalidou), isto é feito na superfície da janela. A superfície está bloqueada, o que devolve uma tela que pode ser usada para atraí-la. Um trajeto de desenho é feito na hierarquia, entregando a tela para cada vista para desenhar a sua parte da IU. Uma vez feito, a superfície é desbloqueada e postada de modo que o buffer desenhado é trocado para o primeiro plano para então ser composto para a tela pelo Flinger de superfície.

Além disso, encontrei outras informações da apresentação do Romain Guy. fale em San Francisco Android user group de aqui, e baixe slides completos de aqui)

enter image description here

Então, resumindo ... :

  • Um Activity tem uma janela (na qual desenha a sua interface de utilizador),
  • a Window tem uma única Surface e uma única hierarquia de visualização ligada a ela,
  • a Surface inclui ViewGroup que contém opiniões.
 145
Author: 김준호, 2017-05-23 12:10:32
Gostaria de dizer em poucas palavras:
Application --->
  Activity --->
    Window Manager --->
      Window --->
        Surface ---> 
          Canvas --->
            View Root ---> 
              View Group --->
                View ---> 
                  Bitmap/Open GL panel ---> 
                    Current Surface Buffer ---> 
                      Surface Flinger --->
                        Screen
 10
Author: mohammed youser sawwas, 2017-11-15 07:47:27

Android: Window, Surface, Canvas, and Bitmap Aqui está uma visão conceptual muito básica e simples de como a interação acontece entre a janela, a superfície, a tela e o Bitmap.

 9
Author: Sabeeh, 2016-07-21 06:49:36