» »

[Android] Nalaganje slik v bitmap in prikazovanje prek canvasa

[Android] Nalaganje slik v bitmap in prikazovanje prek canvasa

piki12 ::

Pozdravljeni,
želim narediti program kjer bi lahko naloadal sliko in jo na ekranu pokazal (naredil bi tako da naložim v bitmap nato prek canvasa pokažem)
Pomagal sem si z tem linkom vendar je rezultat naslednji: http://developer.android.com/training/d...
Ko naložim sliko mi pa se na ekranu prikaže čudna situacija..
 tralla

tralla


Približno nekaj takega ampak to se zgodi ko zaslon obrnem se slika spremeni namesto da bi ostala ista. Vendar ne vem zakaj se spremeni.
Podoben problem je tukaj opisan: http://stackoverflow.com/questions/1912...

Ko pa poskusim z drugo kodo pa zadeva deluje odlično vendar včasih mi napolni pomnilnik in se aplikacija crashne, in seveda glavna razlika med kodama je da prvi algoritem lavfa pod 24mb uporabe pomnilnika drugi pa pod 48mb zato bi zelo rad uspobil prvega.

Koda drugega algoritma:
  public void load() {
        if (mPicturePath != null) {
            FileInputStream in;
            BufferedInputStream buf;
            try {
                if (loadedBmp != null) {
                    loadedBmp.recycle();
                    loadedBmp = null;
                }
                in = new FileInputStream(mPicturePath);
                buf = new BufferedInputStream(in);
                byte[] bMapArray = new byte[buf.available()];
                buf.read(bMapArray);

                prepareBitmaps();
                drawBitmap(mBitmap);
                loadedBmp = BitmapFactory.decodeByteArray(bMapArray, 0,
                        bMapArray.length);

                loadedBmp = resizeImage(loadedBmp);



                drawBitmap(mBitmap);

                drawBitmap(loadedBmp);

                updateBitmap(loadedBmp);

                if (in != null) {
                    in.close();
                }
                if (buf != null) {
                    buf.close();
                }
                bMapArray = null;
                in = null;
                buf = null;
            } catch (Exception e) {
                Log.e("Error reading file", e.toString());
            }
            // Clear path so we don't load it again next time.
            mPicturePath = null;
        }
    }


Mogoča ima kdo predlog kje je velika napaka in kaj je narobe sploh da se to dvoje dogaja.
  • spremenil: Mavrik ()

piki12 ::

A kr noben ne ve zakaj mi prva metoda manj pomnilnika rab k druga in zakaj mi raztegne tok grdo sliko :O:'(;(:(:'(


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] HTTPS client

Oddelek: Programiranje
173197 (1927) peterv6i
»

Java skeniranje map in podmap

Oddelek: Programiranje
61173 (1062) nightrage
»

[Android] Nov tip shranjevanja slike

Oddelek: Programiranje
142214 (1338) urosz
»

Android zamenjava pogledov

Oddelek: Programiranje
61106 (927) c00L3r
»

Kako pošiljanje datotek v JAVI.

Oddelek: Programiranje
141854 (1725) kopernik

Več podobnih tem