Unity3d:延迟加载ScrollView的内容

问题描述:在一个scrollview中加载了大量的数据,有文字、图片、视频等等,首次加载的时候会很慢很卡,而且加载出来后,内存占用很大。
解决方案1:
思:固定一块区域,当物体滚动到这区域的时候再加载物体上所承载的数据,当物体离开这区域的时候释放物体上所承载的数据。
行:在做的时候,首先想到的是算当前物体的坐标,当物体坐标到达固定区域的坐标范围内就加载,离开区域范围就释放,因为物体都是在滚动条内的,所以坐标是不变的。最终确定的方案是在当前物体上加一个Widget,并判断他的active,当他出现在我们的可视范围内时,获取到他的active是true,当他离开我们的可视范围内时,获取到他的active是false。到这里,去看结果的时候,结果每次拖动拖动scroview中的物体滚动的时候,还是有一卡一卡的感觉,由于判断加载数据都是在update方法里面,所有的物体都会走一遍,解决这个办法就是把和scrollview在一起的UIPanel里面的Cull属性勾上,意思就是只有当前在显示区域的物体才去执行update。
ps:离开可视范围释放内容的时候,把物体所承载的数据置为null就好了并调用Resources.UnloadUnusedAssets ();。(如果是Texture,把MainTexture=null;如果是Label,把text="";)

Unity3d:延迟加载ScrollView的内容

时间: 2024-11-05 12:25:19

Unity3d:延迟加载ScrollView的内容的相关文章

关于禁止Android scrollView 因内容变化而自动滚动

出现这种情况是因为你让scrollview获得了焦点,所以它才会滚动.如果你百度了以后,你可能会发现有些博客会说让焦点停在固定的一个view中就可以了.这对于不存在刷新的页面确实是可以的,但是当你出现诸如定时刷新页面的情况的时候,你就会发现这个方法不好操作.因为一旦刷新后焦点的控制就不好弄了.这时就不得不提一提一个比较少用的属性——>android:descendantFocusability 该属性是当一个为view获取焦点时,定义viewGroup和子控件两者之间的关系.属性的值有三种: b

scrollView实现基础中心点缩放及与UIPageControl结合使用

一般来说scrollView与UIPageControl都是结合使用,因为在使用滚动视图的时候 ,使用UIPageControl,用户可以 清楚 的明白显示的内容有多少页,如果 没有的话,总不能让用户一个个的去数.用户体验效果不理想. 一般来说,在滑动scrollView的时候,UIPageControl的选中点的位置也会有相应的变化.当然,反之来说,改变选中点的位置,相应的scrollView显示的内容也会产生变化 . 因为我这边需要实现的效果是:最后一张向后滑动之后,会自动跳到第一张显示的内

屏幕滚动控件Scrollview

Scrollview有几个主要的属性: contentSize:Scrollview中内容视图的大小,返回CGSize结构体类型,包含width和height2个成员: contentInset:用于在Scrollview中的内容视图周围添加边框,往往是为了留出空白以放置工具栏 标签栏 或导航栏 contentOffset:内容视图坐标原点雨Scrollview坐标原点的偏移量,返回CGSize结构体类型 @implementation ViewController - (void)viewDi

android-基础编程-ScrollView

滚动视图(ScrollView)是指当拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图.包括水平滚动视图(HorizontalScrollView)和垂直滚动视图(ScrollView) 基本操作: setOnTouchListener的使用:判断ScrollView何时滑动到底部1.getScorollY()——滚动条滑动的距离2.getMeasuredHeight()——内容的整体高度,包括隐藏部分3.getHeight()——显示高度.内容未布满屏幕,2=3:内容大于屏幕,3=屏

iOS开发——实战技术OC篇&点击状态栏ScrollView(包括子控件)自动滚到顶部

点击状态栏ScrollView(包括子控件)自动滚到顶部 其实这种方式我们平时见的还是比较多的,而且适合用户的需求,所以就搬来琢磨了一下,感觉效果还不错 这里就直接将解决思路一一写出来不将代码分段展示了,在代码中我加了详细的注释objective-c的套路和swift基本一样,在最后会将Swift和objective-c的代码一起放上,如果需要直接解决问题的童鞋可以直接将代码拷贝到工程里即可 首先创建一个topWindow继承至NSObject,这里我们考虑将这个功能完全封装起来,所以所有的方法

ScrollView

一,创建和配置Scroll Views:1,创建Scroll Views:Scroll views的创建和其他view一样,通过代码或IB.只需要一点附加的配置来获得基本的scrolling能力.1)你必须设置contentSize属性.这个属性指定了可滑动区域的尺寸.2)你必须向Scroll views增加一个view或views来让其显示和滚动. 2,在IB中创建Scroll views:拖动一个UIScrollView到目标区域.然后连接出口即可.虽然IB中的UIScrollView属性检

[NHibernate]延迟加载

目录 写在前面 文档与系列文章 延迟加载 一个例子 总结 写在前面 上篇文章介绍了多对多关系的关联查询的sql,HQL,Criteria查询的三种方式.本篇文章将介绍nhibernate中的延迟加载方式,延迟加载按个人理解也可以叫做按需要加载(Loading-on-demand). 文档与系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate]O/R

解决Android中,禁止ScrollView内的控件改变之后自动滚动

问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示: 滚动的那一下体验特别不好,所以要防止这种情况.即不论Scrollview中内容如何,都要保持在最上. 解决办法: 先简单写一下我的xml文件的结构: [html] view plaincopy <ScrollView android:id="@+id/scrollView1" a

Thinking in Unity3D:基于物理着色(PBS)的材质系统

关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎研发工作中,早已习惯性的从Unity3D中寻找解决方案. Unity3D虽比不上UE那么老练沉稳,气势磅礴.也比不上CE那样炫丽多姿,盛气凌人.但它的发展势如破竹,早已遍地生花!故而在此记录一些自己的心得体会,供大家参详交流.若有欠妥之处,还望各位及时指正. Thinking in Unity3D由一系列文章