美文网首页
activity onCreate 处理先渲染界面,再处理自己业

activity onCreate 处理先渲染界面,再处理自己业

作者: 一个冬季 | 来源:发表于2021-01-09 16:47 被阅读0次
文章参考

Android源码之Activity从启动到显示到界面
深入理解 Activty 加载速度优化
WMS常见问题一(Activity displayed延迟)

发现自己APP问题

我发现自己APP进入商品详情页面,跟京东进入商品详情页面来相比(120-180毫秒之间),京东的是瞬间进入的,而我的始终是要慢的,我的耗时大概会在530毫秒上下。可以通过过滤Displayed(ActivityRecord.reportLaunchTimeLocked类里)日志来查看,如果时间在300上下,就不会出现卡顿现象

尝试过的方法

1、onResume 执行网络请求等操作(无济于事),我发现还是没有改变什么。根本原因即使你到了onResume的,原因是decorView还没有被add到ViewManager里面

目前的搜索到的方法
这个行代码,还是有问题,建议不要使用先
getWindow().getDecorView().post(new Runnable() {
    @Override
        public void run() {
       //TODO 你的业务逻辑
      }
 });
注意!存在onResume方法都执行完了post方法还未执行的情况

此时能保证decorView已经被添加进ViewManager,用户已经可以看到界面了,所以再执行你的逻辑,就不会让人感觉到卡顿的发生
2、layout采用ViewStub

相关文章

网友评论

      本文标题:activity onCreate 处理先渲染界面,再处理自己业

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