延迟加载

Posted 雪原日暮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延迟加载相关的知识,希望对你有一定的参考价值。

我们创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次运行都创建该对象,这时候延迟初始化(也叫延迟实例化)就出场了。

延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求。也可以称为,按需加载。

 

Lazy<T> xx = new Lazy<T>();//xx代表变量名

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LazyTest
{
    class Student
    {
        public Student()
        {
            this.Name = "DefaultName";
            Console.WriteLine("调用Student的构造函数");
        }

        public string Name { get; set; }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LazyTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Lazy<Student> student = new Lazy<Student>();
            if (!student.IsValueCreated)
            {
                Console.WriteLine("Student未初始化");
            }
            Console.WriteLine(student.Value.Name);
            if (student.IsValueCreated)
            {
                Console.WriteLine("Student已经初始化");
            }
            Console.ReadKey();
        }
    }
}

 

以上是关于延迟加载的主要内容,如果未能解决你的问题,请参考以下文章

延迟弹出对话框片段,直到其中的 webview 完成加载

如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?

由于休息api延迟,视图寻呼机中的第一个片段未显示

在 BottomNavigationView 中切换选项卡时出现延迟

Android中切换标签片段之间的延迟

如何在 UITableView 中实现类似 UIImageView 的延迟加载