设置懒加载|关于懒加载,不调用

设置懒加载|关于懒加载,不调用

1. 关于懒加载,不调用

1、main()函数之前耗时的影响因素

·动态库加载越多,启动越慢

·OC类越多,启动越慢

·C的constructor函数越多,启动越慢

·C++静态对象越多,启动越慢

·OC的+load越多,启动越慢

2、main()函数之后耗时的影响因素

·执行main()函数的耗时

·执行applicationWillFinishLaunching的耗时

·rootViewController及其childViewController的加载、view及其subviews的加载

借鉴方案:

针对今日头条这个App我们可以优化的点如下:

·纯代码方法而不是storyboard加载首页UI

·对didFinishLaunching里面的函数考虑是否可以延迟加载或者懒加载,需要与各个业务方共同check,对于一些已经下线的业务,删除冗余代码

·对于一些与UI展示无关的业务,如微博认证过期检查、图片最大缓存空间设置等做延迟加载。对实现了+load()方法的类进行分析,尽量将load里的代码延后调用

·上面统计数据显示展示feed的导航控制器页面(NewsListViewController)比较耗时,对于viewDidLoad以及viewWillAppear方法中尽量去尝试少做、晚做、不做。

2. 什么叫懒加载

为限制策略不同的应用分别开一个账户,比如我主账户是 Gee,则可以设置一个用于迅雷的账户 Gee4Xunlei,密码自定(一定要有),建成 standard account(属于 Users 组但不属于其他组)。然后把所有不希望这个程序访问的对象(文件夹、文件、注册表项等等)的 ACL 上加上禁止这个用户访问。搞定之后有多种途径,最勤劳的方法是每次启动迅雷的时候都“以另一个用户身份运行”,然后输入 Gee4Xunlei 的凭据。坏处是不能应对迅雷通过文件关联启动的情况。你可以选择禁止主账户运行迅雷,这样就可以保证迅雷从不以主账户的身份启动。一个比较懒惰的方法是写一个 PowerShell 脚本,大概是:

其中 叽里呱啦 可以通过下面的脚本获得:

执行这行后在控制台输入密码,按回车,之后 1 这个文件的内容就是 叽里呱啦 对应的内容。最懒惰的方法是写一个 forwarder/adapter 程序,把所有对迅雷的调用替换为以 runas 谓语调用迅雷,并且适当地传入数据。不过这个根据不同的程序会有不同的写法。第二种方法可以应对大多数情况,而且要记得把迅雷设为主账户不可执行,这样会比较安全。

3. 关于懒加载不调用

新信息(短信)查看方法:手柄按下右摇杆,键盘按F3。

新信息(短信)查看方法:手柄按下右摇杆,键盘按F3。

4. 懒加载机制

lazy loading是需要配置的。直接在xml文件中设置相关选项为ture即可。

5. 关于懒加载,不调用一个属性

懒加载和预加载是完全不同的,一个是提前加载资源,一个是延迟加载或者不加载;懒加载会缓解一些服务器端和客户端内存的压力,预加载则会增加服务器端和客户端的压力,两种加载模式有各自的适用场景各有自己的优势。

6. 什么是懒加载

我的思路是 从新写一个javabean 里面就是关联查询的 所以有字段从新封装成这个类 然后转换层 json

7. 懒加载和按需加载

1. 配合滚动条使用:用js监听滚动条,当滚动到固定的位置后,才去用ajax请求加载图片2. 页面弄个像加载更多的按钮,点击再去加载用ajax请求加载图片

推荐阅读