Anlayış Tuval ve Yüzey kavramları | Netgez.com
SORU
2 Ocak 2011, Pazar


Anlayış Tuval ve Yüzey kavramları

SurfaceView ve bu nedenle tüm Android kullanılanSurface/Canvas/Bitmap sistem, çizim süreci anlamakta güçlük çekiyorum.

Android-geliştiriciler sitesinde android grafik birkaç öğreticiler, LunarLander kaynak kodu ve this question bulabildiğim makaleler ve API belgeleri tüm sayfaları, okudum.

Olmayan gerçek olan söyle bana, ve neden lütfen.

  1. Canvas Bitmap kendi kendisine bağlı. Surface Canvas kendi kendisine bağlı.
  2. Tüm View'pencere s Surface aynı paylaşmak ve böylece 10 ** paylaşır.
  3. SurfaceView, diğer aksine 13**'nın alt ve View kendisi çizmek için Surface kendi vardır. View alt sınıfı

Ayrıca ek bir soru var:

  • Neden zaten bitmap ile yüksek seviye iÅŸlemler için Canvas varsa Surface bir sınıf için bir ihtiyaç. Canvas Surface yapabilirsiniz hangi iÅŸi olmayan uygun bir durum örneÄŸi verin.

CEVAP
2 Ocak 2011, Pazar


İşte bazı tanımlar:

  • Bir Yüzey bir nesneyi ekrana birleÅŸtirilmiÅŸ ediliyor piksel tutuyor. Her pencereyi görüyor ekranda (bir iletiÅŸim kutusu, tam ekran aktivite, durum çubuÄŸu) kendi yüzeyi çizer ve Yüzey Flinger iÅŸler bu son ekranda onların doÄŸru Z-sırası. Bir yüzey, genellikle, birden fazla tampon (genellikle iki) için çift ara belleÄŸe iÅŸleme: uygulama olabilir çizim sonraki UI devlet ise yüzey flinger. kompozisyon ekranını kullanarak son tampon gerekmeden beklemek için baÅŸvuru için son çizim.

  • Bir pencereyi masaüstünde bir pencere düşündüğün gibi temelde. Hangi pencerenin içeriÄŸini iÅŸlenir tek bir Yüzeyi var. Bir uygulama bir Pencere Yöneticisi ile windows oluÅŸturmak için etkileÅŸim; Pencere Yöneticisi her pencere için bir Yüzey oluÅŸturur ve çizim için uygulama saÄŸlar. Uygulama Yüzey istediÄŸini çizebilir; bir Pencere Yöneticisi için sadece opak bir dikdörtgen.

  • Görünüm penceresi içinde interaktif UI bir unsurdur. Bir pencere tek bir görünüm pencere davranışını tüm saÄŸlayan, baÄŸlı hiyerarÅŸi vardır. Pencerenin yeniden çizilmesi (kendisi geçersiz olduÄŸundan görünümü gibi) gerektiÄŸinde, bu pencerenin Yüzeyinden yapılır. Yüzeyi çizmek için kullanılan bir Tuval döndüren kilitlendi. Beraberlik bir geçiÅŸ hiyerarÅŸi aÅŸağı, Tuval UI parçası çizmek için her görünüm için aÅŸağı teslim yapılır. Bir kere yapılır, Yüzey kilidi ve yeni çizilen tampon sonra Yüzey Flinger tarafından ekrana birleÅŸtirilmesine ön plana takas böylece gönderildi.

  • Bir SurfaceView özel bir uygulama Görünüm oluÅŸturur aynı zamanda kendi özel Yüzey için uygulama doÄŸrudan çizin içine (dışında normal görünüm hiyerarÅŸi, aksi halde paylaÅŸmalısınız tek Yüzeyi için pencere). Bu iÅŸi daha basit olabilir bekliyoruz -- tüm SurfaceView mu sormak pencere yöneticisi oluÅŸturmak için yeni bir pencere olduÄŸunu söylüyordu. bunun için Z-sırası Bu pencere ya hemen arkasında veya önünde SurfaceView pencere ve konumunu maç nerede SurfaceView görünür içeren pencere. EÄŸer yüzey ana pencere (Z sırayla) arkasında, SurfaceView yüzey görülebilmesi için de ÅŸeffaflık ile ana pencerenin kendi bölümünü doldurur.

  • Bir Bitmap bazı piksel veri için bir arayüz. Pikseller olabilir ayrılan Bitmap kendisi de o zaman doÄŸrudan yaratmak, ya da olabilir iÅŸaret için piksel deÄŸil kendi gibi ne kadar içten olur, sürekli bir Tuval bir Yüzey için çizim. (Bir bit EÅŸlem ve Yüzeyin geçerli çizim tampon için oluÅŸturulan iÅŸaret.)

Ayrıca, bu da anlaşılacağı gibi unutmayın lütfen, bir SurfaceView çok ağır ve güzel bir nesne. Eğer belirli bir UI birden fazla SurfaceViews varsa, durdurmak ve bu gerçekten gerekli olup olmadığını düşünün. Eğer ikiden fazla varsa, neredeyse kesinlikle çok fazla var.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • katherine gomez

    katherine go

    1 Aralık 2011
  • placeboing

    placeboing

    7 Mart 2006
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011