ImageView'da gösterilecek bir URL'den resim yüklüyorum. standart yol (inputStream is
URL'den elde edilmiştir yerde) aşağıdaki gibi bir bit eşlem oluşturmaktır:Android: Tam bir bitmapi yüklemeden ImageView'a anında görüntü akışı nasıl oluşturulur?
Bitmap bm = BitmapFactory.decodeStream(is);
Ama büyük resimler uğraşıyorum, ben tüm görüntü önce piksel görüntüleme başlatmak istiyor bitmap'e yüklendi, yani görüntünün aşamalı olarak oluşturulmasını istiyorum (web tarayıcılarında büyük resimlerin yüklenmesine benzer). Görüntü örneğin, bir araya sıkıştırılmış PNG ise, bu, tam görüntünün yüklenmesini beklerken kullanıcılara daha düşük kaliteli bir görüntü göstermeme olanak tanır. Temelde, ben o kısa sürede bunları okurken ImageView'ın bitmap'e piksel işlemek için değiştirebilir, olarak http://www.codinghorror.com/blog/2005/12/progressive-image-rendering.html
Ben PNG dekoder uygulamak veya bir opensource uygulamasını kullanabilir miyim diye biliyorum gösterilen rendering ulaşmak istiyoruz ama bu, niyet ettiğim şey için bir mamut çabasına benziyor.
İlk yaklaşımınızdaki ana sorun, görüntü verilerinin düz piksel olarak gelmemesidir, ancak kullandığım görüntü formatına (ör., PNG) göre sıkıştırılmış ve düzenlenmiştir. Ayrı paketlerle başa çıksam bile, büyük çaba bu verileri görüntülemeden önce piksel renk değerlerine dönüştürmek olurdu, ki bu da söz konusu görüntü formatı için bir kod çözücü yazmayı gerektiriyor (bu bir aşırı sıkıntı olacaktır). Daha basit bir yöntem/kütüphane arıyordum. İkinci yaklaşımınız elbette çok daha kolay. Başka hiçbir şey işe yaramıyorsa bunu yedekleme seçeneğim olarak tuttum :) –