在做界面的时候,有时候会发现进入一些界面速度很慢,用户体验不是很好,请问各位大神如何提升进入界面的速度

1 收藏


直接登录
最新评论
  • TentaCLE   2015/09/30

    你好,这是一个很复杂的问题,限于篇幅问题无法给出具体的技术概念。
    建议楼主描述清楚具体的慢是慢在哪里,是界面的初始化,还是界面的动画流畅性?

    • android_fred android工程师 2015/09/30

      主要是界面初始化,因为在很多相差不到的界面中,用模拟器运行的时候,可以发现一些界面明显很慢

      • TentaCLE   2015/09/30 精华评论

        以我个人的经验来说:
        1,简洁界面层级,即减少各种容器数量和无必要的View
        2,对于一些需要载入数据(不是指需要输入)才能显示的View,或者刚进入页面时不需要显示的View,使用ViewStub来分别初始化View
        3,Fragment有个先后载入顺序的问题,一个Fragment完成才处理下一个,后载入的Fragment一定会慢一步,不过这一般不影响主线程
        还有很多,想起来再补充

        • TentaCLE   2015/09/30

          另外说个无关的。我还是二逼的时候曾经见一个并不是新手的同事把一个自己写的复杂表格View给放到runOnUiView里去初始化,理由是分别放在不同的线程里去处理会更快。很久以后我理解了主线程刷新界面的原理以后知道runOnUiView是一定执行在页面初始化完成以后的。

          • android_fred android工程师 2015/09/30

            异步加载最终还是要到主线程里面进行UI更新,要改善一些复杂界面的流畅性,并不是那么简单,这里面的学问大啊

  • uioqwdaisgdasbgdkL   2015/09/30

    1.所有元素分批加入,要这样做的话你必须将大段代码分解成小的单元,并排入分开的运行循环中。
    2.有联网的请求全部后置,冷启动。
    3.页面UI设计的时候,分层不要太多了。在视图的层次结构中,混合层越多,渲染的计算量就越大。
    4.载入画面做好玩点。app用户所触发的操作都能得到立刻响应。虽然无用但是用户体验会好很多。
    5.素材文件数量大小严格限制。打包、合并文件,以及顺序排放。