WebHU - Programozási kérdések és válaszok

Hogyan lehet hatékonyan betölteni képeket a szerverről a tableView-ra?

Van egy táblázatnézetem az összes UITableViewCellStyleSubtitle cellával, az összes cella képei a szerverről származnak.

Ezeket a képeket azonban nem cserélik gyakran.

Valaki meg tudja mutatni, hogyan javíthatom a felhasználói élményt? Minden alkalommal, amikor a felhasználó lefelé görgeti a táblázatot, úgy tűnik, hogy az online állapotba kerül, hogy újra ellenőrizze és letöltse a képeket.

Vagy legalább mutasson meg néhány lehetőséget, amelyek elérhetőek a cél eléréséhez.

Kösz,

26.01.2010

Válaszok:


1

A Three20 könyvtárnak van egy ImageView alosztálya, amely elfogadja a távoli kép URL-jét, és a kiváló TTURLRequest/Caching mechanizmust használja a képek lekéréséhez. . Karbantartja a memórián belüli és a lemezen lévő gyorsítótárat, és csak akkor tölti le a képeket, ha azok nincsenek gyorsítótárban, vagy lejártak. Beállíthatja az alapértelmezett gyorsítótár-lejárati időt, vagy használhat egy értéket a HTTP-válaszból. Ha a TTTableViewController alosztályt és a megfelelő TTTableItem alosztályt használja, akkor ingyenesen megkapja a megfelelő képletöltési viselkedést. Nem szükséges azonban minden három komponenst használni ahhoz, hogy azt tegye, amire szüksége van. Ha meglévő kódba integrál, létrehozhatja saját UITableViewCell alosztályát, amely a szabványos UIImageView helyett TTImageView-t használ. Ezután a cellakonfigurációs módszereiben beállíthat egy alapértelmezett helyőrző képet és egy URL-t a betöltésre, és ez nagyjából gondoskodik a többiről. A teljesítmény optimalizálása érdekében az UIScrollView delegált metódusokat is implementálnia kell a tableview vezérlőbe, hogy felfüggesztse a TTURLRequestQueue-t görgetés közben (tekintse meg a TTTableViewControllert, hogy megtudja, hogyan történik ez).

26.01.2010
  • köszi Brian, hamarosan megvizsgálom a three20-at. Érdekesen hangzik, de még nem sok dokumentációt láttam ;) mindenesetre köszönöm. 28.01.2010
  • Nem sok a dokumentáció, de a TTURLRequestQueue és a TTURLCache kódja elég egyértelmű. 30.01.2010

  • 2

    Megpróbálhatja az alábbiak egyikét

    • Hozzon létre egy szótárt, és tárolja el a benne lévő összes letöltött képet a képnév kulcs használatával

    • Gyorsítótárazza és használja újra a teljes UITableView cellát itt: tableView:cellForRowAtIndexPath:

    • Ha csak egy kép ismétlődik, töltsön be egyet tableView:cellForRowAtIndexPath:

    • Azt írod, hogy a képek havonta változnak - elmentheted a képeket lemezre, ahogy használatban vannak, és csak vagy ellenőrizd, hogy változtak-e a képek a hátsó írón, vagy adott napi időközönként töltsd le újra a képeket. Brian Chapados válasza érdekesnek tűnik.

    A kódtól függően valószínűleg rengeteg más módszer is létezik a képbetöltés javítására. Remélem segít...

    26.01.2010
  • szia Niels, talán nem tisztázott a kérdésem, úgy értem, a képek havonta vagy három hónaponként változhatnak, de a felhasználók mindennap használják az alkalmazásomat. 27.01.2010
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..