美文网首页Android
Android怎么加速启动Activity

Android怎么加速启动Activity

作者: 学不好语文的LJ码农 | 来源:发表于2016-12-07 17:30 被阅读170次

    以下内容整理自互联网,仅用于个人学习


    1. 减少onCreate时间

    onCreate 方法中不要进行耗时操作,放在onResume里会更好。

    • 把页面显示的View细分一下,放在AsyncTask里逐步显示,用handler更好。这样用户的看到的就是有层次有步骤的一个个的view的展示,不会是先看到一个黑屏,然后一下显示所有view。
    • 最好做成动画,效果更自然。
    • 利用多线程的目的就是尽可能的减少onCreate和onReume的时间,使得用户能尽快看到页面,操作页面。

    但是,很多操作是只需要一次初始化的,都放在onResume里每次进入activity都会浪费初始化时间。可以用以下方式解决。

    1. 定义一个boolean变量
    1. 在onCreate里标记为true
    2. 在onResume里判断为true就进行初始化,初始化完成立刻置为false。

    2. 减少主线程的阻塞时间

    首先了解ANR,ANR就是应用无响应。

    • 用户操作无响应5秒
    • 网络和数据库阻塞10秒
    • 广播接收者执行超过10秒会导致ANR

    ANR出现的原因:

    • 高耗时的操作
    • 磁盘读写,数据库读写
    • 大量创建新对象

    若一个操作耗时过长(导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。

    3. 提高Adapter和AdapterView的效率

    • 重用已生成过的Item View(convertView)
    • 添加ViewHolder
    • 缓存Item的数据
    • 分段显示

    4. 优化布局文件

    • 使用观察布局的工具 Hierarchy Viewer
    • 使用布局优化工具: Layoutopt
    • 优化布局的层次结构,使用include、merge、ViewStub等

    相关文章

      网友评论

        本文标题:Android怎么加速启动Activity

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