Sobes.tech
Junior — Middle

Aké sú rozdiely medzi vlastnosťami režimu oneskoreného načítania a bežného načítania údajov?

sobes.tech AI

Odpoveď od AI

Režim lazy loading sa líši od bežného načítania tým, že údaje alebo zdroje sa neukladajú ihneď pri inicializácii, ale až v okamihu ich priameho použitia.

Bežné načítanie znamená, že všetky potrebné údaje sa načítajú vopred, napríklad pri spustení aplikácie alebo pri otvorení obrazovky. To môže viesť k dlhým čakacím dobám a veľkému spotrebe pamäte.

Lazy loading umožňuje šetriť zdroje a zrýchliť štartovanie, načítaním údajov podľa potreby. Napríklad v iOS sa to často používa pri načítaní obrázkov v tabuľke: obrázky sa načítajú iba vtedy, keď je bunka viditeľná.

Príklad v Swift s lazy loadingom obrázka:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
    let imageURL = imageURLs[indexPath.row]
    // Lazy loading obrázka
    loadImageAsync(from: imageURL) { image in
        DispatchQueue.main.async {
            cell.imageView?.image = image
            cell.setNeedsLayout()
        }
    }
    return cell
}