android页面预加载页面,预加载优化页面加载速度 and-load-aot

and-load-aot

在打开页面之前,提前去调用加载数据的方法(可能是网络数据或者数据库),这样页面打开以后数据可能已经准备好了,就可以马上展示给用户。页面的初始化一般比较耗时,这样可以节省掉初始化的时间,并行的去初始化页面和加载数据,缩短页面展示给用户的总时间。

解决思路举一个例子:例如在打开A页面Activity时,在调用startActivity方法的时候,就去调用A页面的加载数据方法loadData(),此时开始加载网络数据,同时Acitivity开始初始化加载布局等,等Activity准备好UI需要数据的时候去检查loadData()是否加载完毕,如果完毕了就直接显示数据,如果没有完成就弹出loading开始等待它执行完成。

About

Activity/Fragment/View的初始化一般都会消耗一些时间,例如:

- 在打开页面Activity时,一般的流程是这样的:

- 1、通知AMS进程去创建新的Activity

- 2、AMS检查Activity进程是否存在,不存在先创建进程,已经存在就通知该进程创建Activity实例

- 3、Activity创建完后加载布局View

- 4、然后去网络中或者数据库中异步请求数据

- 5、数据准备好后通知渲染到View上

上面的流程一般是串行的,即要等到Activity准备好后再去请求数据,而准备Activity的过程往往是耗时的过程(例如启动Activity涉及到跨进程、遍历创建View树都是耗时的过程),为什么不把这个过程改为并行的呢?甚至改为提前进行呢?

怎样优雅地把创建页面和请求数据并行进

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值