Activity是Android的四大组件之一,承担着非常重要的作用。并且Activity加载速度是很影响用户体验的,直接关乎到我们App的质量。下面就说说怎么优化加速启动我们的Activity。

Activity的显示会调用onCreat()、onStart()、onResume()方法,假设当前Activity不可见时会调用onPause()以及onStop()方法,回退之后又会调用onRestart()、onStart()、onResume()方法。所以我们需要知道对应的生命周期在执行什么操作,这样我们才能更好的对Activity进行优化。

一、耗时操作优化
我们知道如果在主线程中直线耗时操作的话会引发ANR异常,所以耗时操作我们需要在子线程完成,还有网络加载数据进行异步请求。

二、布局文件优化
1.多余控件:用不到的控件和层级只会浪费界面的渲染时间。
2.使用include:在编程Activity界面XML布局时,如果界面中控件大量相同或者许多出使用一样的布局时,此时我们可以使用include,将公用的布局代码单独写成一个xml文件,然后在引入,这样可以减少视图重用。
3.使用Merge: include和merge两个最好配合使用,include减少视图重用,merge帮助include减少视图层级,比如include所引用布局中根布局和include引用到的布局根布局重复,使用merge可以有效解决这个问题。
4.使用ViewStub:我们开发中可能会这样做,就是用当用户进行某项操作时才显示View或某个布局,一般的做法就是对View或布局进行Visible/Gone,这样做虽然把View的初始可见设置为View.GONE但是在Inflate布局的时候View仍然会被Inflate,也就是说仍然会创建对象,会被实例化,会被设置属性。也就是说,会耗费内存等资源,而ViewStub可以帮助我们延迟加载暂时无用的视图,比如主页加载数据为零,要展示空数据页面,空页面不是一开始就必须加载的,可以借用ViewStub在需要加载的时候进行渲染并显示。
具体的使用就不在这里做多余的介绍了,自己去查找资料即可。

三、视图加载优化
试图加载优化,最常见的就是我们的Fragment的懒加载,只有显示时才去加载。

以上就是我的理解,经过查阅资料、以及自己在实际开发中也有遇到过。如果有写的不好的地方,直接评论指出就好。

更多相关文章

  1. Android(安卓)不同View ID相同
  2. android 实现FlowLayout 流线布局(自定义ViewGroup)
  3. Android(安卓)Material Design
  4. 第八章 Android(安卓)开发常见的UI布局
  5. android 弹出软键盘将底部视图顶起问题
  6. Android(安卓)invalidate 与postInvalidate用法
  7. Android动画设计第3弹
  8. android——Include进来的GridView无法显示
  9. Android(安卓)ListView滑动过程中图片显示重复错乱闪烁问题解决

随机推荐

  1. Android(安卓)开发学习笔记
  2. 【Android翻译】关于Activity的onSaveIns
  3. Android Service总结04 之被绑定的服务 -
  4. Android虚拟键盘弹出时挡住EditText解决
  5. Android之Activity组件
  6. Android的开发配置篇(linux平台)
  7. Android(安卓)小众良心的应用市场推荐
  8. Android aapt 工具介绍
  9. Android的swift语言-Kotlin(一)
  10. Window下android 模拟器SD卡的使用方法