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
}