Junior — Middle
Kuidas erinevad viivitusega laadimise režiimi omadused tavalisest andmete laadimisest?
sobes.tech AI
Vastus AI-lt
Hüljatud laadimise režiim (lazy loading) erineb tavalisest laadimisest sellega, et andmed või ressursid ei laadita kohe alguses, vaid ainult nende otsese kasutamise hetkel.
Tavaline laadimine tähendab, et kõik vajalikud andmed laaditakse ette, näiteks rakenduse käivitamisel või ekraani avamisel. See võib põhjustada pikki ootamisperioode ja suurt mälu kasutust.
Lazy loading võimaldab ressursse säästa ja käivitust kiirendada, laadides andmeid vastavalt vajadusele. Näiteks iOS-is kasutatakse seda sageli piltide laadimisel tabelis: pildid laaditakse ainult siis, kui rida muutub nähtavaks.
Swift näide lazy loading'iga pildi kohta:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let imageURL = imageURLs[indexPath.row]
// Lazy loading pilt
loadImageAsync(from: imageURL) { image in
DispatchQueue.main.async {
cell.imageView?.image = image
cell.setNeedsLayout()
}
}
return cell
}