美文网首页首页投稿(暂停使用,暂停投稿)
Texture官方文档翻译之二、智能预加载

Texture官方文档翻译之二、智能预加载

作者: JoeSense | 来源:发表于2017-07-12 14:31 被阅读0次

虽然node的异步并行渲染和布局计算能力已经让其十分强大,但他还有一层至关重要的能力就是智能预加载.

就像在入门这个章节提到的,在node容器(node containers)之外使用node没有什么好处.这是因为所有nodes都有一个当前界面状态(current interface state)的概念.

这个界面状态属性(interfaceState property)会频繁的被ASRangeController更新. ASRangeController是个创建和持有所有node容器(node containers)管理器.

把node放在node容器(node containers)之外使用时,它的状态(current interface state)将不会被任何ASRangeController更新.通常这会造成没有任何警告的屏幕闪烁,这是因为尽管nodes意识到了他们已经显示在屏幕上,仍然会再次进行渲染.

界面状态区域

当nodes被加入到可滚动或可翻页的界面时,他们一般处于下面这个区域的某个状态.这表示当页面滚动时,node会经过这些区域,从而被更新到对应的状态.

|界面状态| 描述|
|:-:|:-:|:-:|
|预加载| 离"已可见"最远的状态.用来读取数据,数据来源可以是网络接口或本地磁盘|
|将显示| 用于处理显示任务,比如文本光栅化和图片解码|
|已可见| node(至少有一个像素)已经显示在屏幕上|

Alt text

ASRangeTuningParameters

每个状态区域的大小是根据"满屏"为单位来计算的.通常情况下,使用默认尺寸就可以满足需求.不过你也可以通过调整参数的方式,轻松的调整scrolling node的区域类型(的范围).

Alt text

上面是一张collection的滚动示意图,用户正在往下滚动屏幕.如图所示,相同的状态下,处在用户滚动方向的区域(头部区域),比移出屏幕方向的区域(尾部区域)大.如果用户更换了滚动方向(朝上滚动),头部和尾部会动态的切换,以保证内存的最优化使用.这使你只需要考虑如何定义头部尾部范围的大小,而不必关心用户滚动方向的变化.

智能预加载还可以在多维度的情况下工作.

界面状态回调

当用户滚动界面时,nodes经过这些区域,并做出对应的响应.比如加载数据,渲染等.你自定义的node子类型可以轻松的通过实现相关回调方法来参与这个机制.
(但是不要忘记调用super方法~)

Visible Range

  • didEnterVisibleState
  • didExitVisibleState

Display Range

  • didEnterDisplayState
  • didExitDisplayState

Preload Range

  • didEnterPreloadState
  • didExitPreloadState

官方原文链接

相关文章

  • Texture官方文档翻译之二、智能预加载

    虽然node的异步并行渲染和布局计算能力已经让其十分强大,但他还有一层至关重要的能力就是智能预加载. 就像在入门这...

  • Texture官方文档翻译之一、入门

    Texture的基本元素是node.ASDisplayNode是对UIView的抽象,而UIView又是对CALa...

  • 预加载与智能预加载 (VIA)

    预加载与智能预加载(iOS) 网络与性能 预加载无限滚动列表Threshold惰性加载智能预加载 总结 前两次的分...

  • Java 第三方资源收集

    mybatis官方文档翻译 mybatis-spring官方文档翻译 kafka 官方文档翻译

  • 收藏的博客链接

    1 - 粒子动画效果2 - 预加载与智能预加载策略

  • Texture 基本控件 Node

    这是 Texture 文档系列翻译,其中结合了自己的理解和工作中的使用体会。如果哪里有误,希望指出。Texture...

  • Texture 中 Node 的生命周期

    这是 Texture 文档系列翻译,其中结合了自己的理解和工作中的使用体会。如果哪里有误,希望指出。Texture...

  • Texture 性能优化

    这是 Texture 文档系列翻译,其中结合了自己的理解和工作中的使用体会。如果哪里有误,希望指出。Texture...

  • Texture 布局 Layout

    这是 Texture 文档系列翻译,其中结合了自己的理解和工作中的使用体会。如果哪里有误,希望指出。Texture...

  • Texture 便捷方法

    这是 Texture 文档系列翻译,其中结合了自己的理解和工作中的使用体会。如果哪里有误,希望指出。Texture...

网友评论

    本文标题:Texture官方文档翻译之二、智能预加载

    本文链接:https://www.haomeiwen.com/subject/lqsbhxtx.html