Hirdetés
- Gyorsabb processzort igen, memóriát alig kapott a Xiaomi új HD tévéokosítója
- Állandó tisztaság a be quiet! Dark Sweeper tápegységgel
- Hivatalosan is elkezd védekezni az Intel csodafegyvere ellen az új Geekbench
- Természetfeletti erő? Acer Nitro V 16 AI notebook Gorgon Pointtal
- Még több képet generál és shadert is előfordít az új NVIDIA App
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD GPU-k jövője - amit tudni vélünk
- Hivatalosan is elkezd védekezni az Intel csodafegyvere ellen az új Geekbench
- Fejhallgató erősítő és DAC topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen videókártyát?
- Még több képet generál és shadert is előfordít az új NVIDIA App
- Milyen billentyűzetet vegyek?
- Autós kamerák
- XMLTV EPG letöltő progi
Ú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
- sziku69: Fűzzük össze a szavakat :)
- Kerti grill és bográcsozó házilag (BBQ, tervek, ötletek, receptek)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Allegro vélemények - tapasztalatok
- Last contact: rejtélyes körülmények között semmisült meg a 34343-as műhold
- Kerékpárosok, bringások ide!
- PSti: Total Commander - Memória duplázás!
- Villanyszerelés
- Kutya topik
- Gumi és felni topik
- További aktív témák...
- ÚJRA! 256GB NVMe SSD, 1 év gar
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD,,Win.11
- HP 15,6"FullHD ,8.gen. Core i5(8X3,6Ghz)R5 2/4GB VGA,8-32GB DDR4 RAM,SSD+HDD?,jó akku,szép áll.
- Asus Phoenix NVIDIA GeForce RTX 3060 12 GB
- Thinkpad X13 Gen4 13.3" FHD+ IPS i7-1365U 16GB 512GB NVMe ujjlolv gar
- AKCIÓ! Intel Core i9 12900KF 16 mag 24 szál processzor garanciával hibátlan működéssel
- Lenovo ThinkStation P330 Gen 2 Tower i7 / Xeon workstation /számla- garancia
- ASUS Strix GeForce GTX 1080 8GB GDDR5X 256bit (ROG STRIX-GTX1080-A8G-GAMING) Videokártya
- Samsung Galaxy S23 128GB,Használt,Dobozaval,12 hónap garanciával
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

