Android怎么加速启动Activity
2017-06-04 20:33
351 查看
减少onCreate的时间,那就精简onCreate里的代码,放在onResume里好了。
为了用户体验更好一些,把页面显示的View细分一下,放在AsyncTask里逐步显示,如果你够熟练,用handler更好,这样用户的看到的就是有层次有步骤的一个个的view的展示,不会是先看到一个黑屏,然后一下显示所有view。最好作成动画,效果更自然些。利用多线程的目的就是尽可能的减少onCreate和onReume的时间,使得用户能尽快看到页面,操作页面。
但是,很多操作是只需要一次初始化的,都放在onResume里每次进入activity都会浪费初始化时间。这个好解决,做一个boolean变量,在onCreate里标记为true。在onResume里判断为true就进行初始化,初始化完成立刻置为false。搞定。
减小主线程的阻塞时间
若一个操作耗时教长(超过5秒 用户无响应5秒 网络和数据库阻塞10秒 广播接收者执行超过10秒会导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。 Android已经提供了AsynTask以实现从主线程生成新的异步任务的方法。具体用法参见异步任务。
提高Adapter和AdapterView的效率
重用已生成过的Item View
添加ViewHolder
缓存Item的数据
分段显示
优化布局文件
如果我们的布局层次过多,那么在我们用findViewById的时间必然会变多,一个变多可能不要紧,但是有很多调用必然会影响性能,所以我们要减少布局深度。
使用观察布局的工具 Hierarchy Viewer
使用布局优化工具: Layoutopt
优化布局的层次结构
为了用户体验更好一些,把页面显示的View细分一下,放在AsyncTask里逐步显示,如果你够熟练,用handler更好,这样用户的看到的就是有层次有步骤的一个个的view的展示,不会是先看到一个黑屏,然后一下显示所有view。最好作成动画,效果更自然些。利用多线程的目的就是尽可能的减少onCreate和onReume的时间,使得用户能尽快看到页面,操作页面。
但是,很多操作是只需要一次初始化的,都放在onResume里每次进入activity都会浪费初始化时间。这个好解决,做一个boolean变量,在onCreate里标记为true。在onResume里判断为true就进行初始化,初始化完成立刻置为false。搞定。
减小主线程的阻塞时间
若一个操作耗时教长(超过5秒 用户无响应5秒 网络和数据库阻塞10秒 广播接收者执行超过10秒会导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。 Android已经提供了AsynTask以实现从主线程生成新的异步任务的方法。具体用法参见异步任务。
提高Adapter和AdapterView的效率
重用已生成过的Item View
添加ViewHolder
缓存Item的数据
分段显示
优化布局文件
如果我们的布局层次过多,那么在我们用findViewById的时间必然会变多,一个变多可能不要紧,但是有很多调用必然会影响性能,所以我们要减少布局深度。
使用观察布局的工具 Hierarchy Viewer
使用布局优化工具: Layoutopt
优化布局的层次结构
相关文章推荐
- Android怎么加速启动Activity
- 【Android】Activity切换效果——当通过Service启动自己Activity的时候怎么控制
- Android系统启动App及 app怎么去启动一个Activity的流程总结
- 怎么找android应用的包名和启动activity
- Android 中启动一个activity,怎么写才好
- Android加速启动Activity
- 手把手教你_怎么找android应用的包名和启动activity
- 手把手教你_怎么找android应用的包名和启动activity
- Android基础学习之怎么在Activity启动时获得View的宽高
- 手把手教你_怎么找android应用的包名和启动activity
- android89--Activity怎么和service绑定,怎么在activity中启动自己对应的service
- Android应用程序的Activity启动过程简要介绍和学习计划
- 关于Android隐式启动Activity
- Activity的启动模式(android:launchMode)
- Android应用程序的Activity启动过程简要介绍和学习计划
- Android周学习Step By Step(8)--Intent之启动新的Activity
- 老罗的Android之旅——Android应用程序的Activity启动过程简要介绍和学习计划
- android activity启动时替换背景
- Android FrameWork——Activity启动过程详解
- Android中怎么启动关闭Service及功能解释