Hirdetés
- Melyik tápegységet vegyem?
- OLED monitor topic
- CES 2026: árad a Panther Lake az Inteltől
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen billentyűzetet vegyek?
- Nem lesz extrém magas ára a Ryzen 7 9850X3D-nek
- OLED TV topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Amlogic S905, S912 processzoros készülékek
- Megkezdte az idei cicaharcot az AMD és az Intel
Ú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
- Xiaomi 15T Pro 12/512 Fekete. Alza vásárlás 36 hó garancia.
- i9 10900, 48GB DDR4 Kingston Hyperx Fury (3x16GB), Gigabyte H470M DS3H, Be quiet, Zalman
- Apple Watch Series 11 46MM 100% Akkuval Fekete színben 2026.09.19-ig Apple Garanciával
- Asus Zenfone 10 16/512 garanciával - mint az új
- Thinkpad X13 Gen3 13.3" FHD+ IPS i7-1265U 16GB 512GB NVMe gar
- Sosemhasznált! HP OmniBook 5 i7-1355U 16GB 512GB 16" FHD+ Gar.: 1 év
- Újszerű Dell XPS 13 9310 - 13.4" FHD+ i7-1185G7 - 16GB - 1TB - Win11 PRO
- BESZÁMÍTÁS! Asus TUF A16 2024 FA607NUG Gamer notebook - R7 7445HS 16GB DDR5 1TB SSD RTX 4050 6GB
- Eladó Apple iPhone 14 128GB Fekete / AKKU 100% / 12 hónap jótállással!
- Lenovo 14 Yoga Slim6 WUXGA OLED Ryzen5 7540U 4.9Ghz 16GB DDR5 512GB SSD Radeon 740M Win11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


