Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Philips AWP9820 (vízlágyító) Calgon helyett?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Krumple: [Xpenology] DSM 7.3 telepítése proxmox 9 alatt - GUIval
- nézzbe: AM3 hűtés s478-ra
- pointer4: Force Feedback az ülésben is - Házi Készítésű Övfeszítő
- Real Racing 3 - Freemium csoda
- Samus: Oldschool játékos konfig a memóriaválság idején
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
lordjancso
#1221
üzenetére
Semmi nagy dologra nem gondoltam, két dolgot változtatnék a példán a rend kedvéért:
1) Ahogy nézem, nem használja fel az URLImageGetter a konstruktorban átadott Contextet, úgyhogy a tagváltozót és a paramétert törölném azonnal. Ha meg mégis kéne, akkor a View-tól kérném el.
2) A container tagváltozója ugyanennek az osztálynak erősen kapaszkodik (hard reference) a View-ba, úgyhogy ha mondjuk a letöltés tíz percig tart, a felhasználó már régen továbbállt mert megunta, akkor se tudja a GC felszabadítani az egész Activityt.
Könnyen elkerülhető, ha a container tagváltozó nem View, hanem WeakReference<View> típusú. Két sort kell módosítani hozzá, és máris nem akadályozza a GC-t – csak le kell ellenőrizni onPostExecute-ban, hogy megvan-e még a View, vagy már vége.public class URLImageParser implements ImageGetter {
WeakReference<View> container;
public URLImageParser(View t) {
this.container = new WeakReference<View>(t);
}
public class ImageGetterAsyncTask extends AsyncTask<String, Void, Drawable> {
URLDrawable urlDrawable;
...
@Override
protected void onPostExecute(Drawable result) {
View c = URLImageParser.this.container.get();
if (c == null) return;
...
// redraw the image by invalidating the container
c.invalidate();
}
...
}
}[ Módosította: doc ]
Új hozzászólás Aktív témák
Hirdetés
- Kerékpárosok, bringások ide!
- Apple iPhone 13 Pro Max - őnagysága
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Honor Magic V5 - méret a kamera mögött
- A legjobb INGYENES programok Windowsra!
- Eleshet a memóriapánikban a Nintendo Switch 2
- Apple iPhone X - vissza a jövőbe
- Mini-ITX
- Garancia kérdés, fogyasztóvédelem
- iPhone topik
- További aktív témák...
- Akció!!! Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 1000GB Nvidia Quadro RTX 3000 1 év garancia
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Samsung Galaxy A41 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Microsoft Surface Pro 5 Tablet - i5-7GEN I 8GB I 256GB SSD I W11 I Cam I Garancia!
- HIBÁTLAN iPhone 14 Pro 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS4125
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

