Code Fragment-UI加载策略之-可视者优先加载
来源:互联网 发布:峰会策划知乎 编辑:程序博客网 时间:2024/06/06 02:19
通常情况
- 通常程序的UI不太复杂,我们会直接加载这些UI信息
复杂的UI
- 加载的元素就相对多一些。
- 加载的数据相对多。
- 因为UI元素和数据元素都比较多,加载的时间相对多。
- 不是默认的加载顺序,而是有选择的加载一些首先用户看到的UI,再去加载暂时没有看到的。
- 例如1:
- 当Launcher启动的时候,在桌面上会有默认的5个屏幕的widget UI,通常的一般思考是从左到右,依次加载,但是,我们可以首先加载用户所看到的当前屏,也就是说首先加载当前页,然后加载第1,2,4,5页。
- 一般的加载方式
- Launcher实际的加载方式
- 加载相关的code处理
// once for the current screenfor (int i = 0; i < N; i++) {final LauncherAppWidgetInfo widget = sAppWidgets.get(i);if (widget.screen == currentScreen) {//首先加载当前页mHandler.post(new Runnable() {public void run() {Callbacks callbacks = tryGetCallbacks(oldCallbacks);if (callbacks != null) {callbacks.bindAppWidget(widget);}}});}}// once for the other screensfor (int i = 0; i < N; i++) {//再根据顺序,从第1页开始加载。final LauncherAppWidgetInfo widget = sAppWidgets.get(i);if (widget.screen != currentScreen) {mHandler.post(new Runnable() {public void run() {Callbacks callbacks = tryGetCallbacks(oldCallbacks);if (callbacks != null) {callbacks.bindAppWidget(widget);}}});}}
- 例如2
- 当Launcher程序启动的时候,会先判断,是在桌面还是menu(所有应用所在屏)这一屏,如果退出前在桌面,那么先加载桌面相关的,然后再加载menu。如果退出前记录的位置是在menu,那么先加载menu,后加载桌面。
- 图示:
- 情况1
- 情况2
- 情况1
- code:
if (loadWorkspaceFirst) {//step1,load the a loadAndBindWorkspace();} else { loadAndBindAllApps();}....if (loadWorkspaceFirst) {//step2,load the b loadAndBindAllApps();} else { loadAndBindWorkspace();}
- Code Fragment-UI加载策略之-可视者优先加载
- Android UI详解之Fragment加载
- Android UI详解之Fragment加载
- js和jquery懒加载之可视区域加载
- JavaScript和jQuery懒加载之可视区域加载
- js 可视区域加载
- 切换Fragment时避免重复加载UI
- Android之Fragment静态加载
- Android之Fragment懒加载
- Android之Fragment静态加载
- Android之Fragment懒加载
- Fragment技术之加载fragment视图
- viewpager+fragment之fragment懒加载
- hibernate加载策略之lazy
- hibernate加载策略之lazy
- 按照可视区域加载图片
- 图片加载库之缓存策略和加载策略
- 加载Fragment
- 注解
- wx.BoxSizer布局管理
- java socket 多线程网络传输多个文件
- 【Kissy Waterfall】静态调用
- gdb几个命令列表
- Code Fragment-UI加载策略之-可视者优先加载
- 浅谈面向对象编程封装继承多态
- 公钥和私钥的区别
- VSS的配置和使用
- ubuntu 下解决phpmyadmin error: “Connection for controluser as defined in your configuration failed”
- 使用X-UA-Compatible来设置IE8兼容模式
- 黑马程序员--02 C#流控语句
- hdu1465(放错信 错排公式)
- 关于用户态和内核态的理解